Portál AbcLinuxu, 20. dubna 2024 01:09


Dotaz: Hexadecimal to binarní

11.2.2018 11:25 Kiko
Hexadecimal to binarní
Přečteno: 439×
Odpovědět | Admin
Zdravím.

Mam expander, se kterého se čtou data v Hexadecimal

stavregistru=`sudo i2cget -y 1 0x20 0x00`

echo $stavregistru

Vrací 0x00

Bych to potřeboval do binary 00000000.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2018 11:29 NN
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Odpovědět | | Sbalit | Link | Blokovat | Admin
V Bashi..
11.2.2018 12:15 Kiko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
BIN=$(echo "obase=2; ibase=16; $j" | bc )

řádek 3: bc: příkaz nenalezen

11.2.2018 15:34 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
(čo to máš za distro??)

https://packages.ubuntu.com/xenial/bc
11.2.2018 16:15 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Odpovědět | | Sbalit | Link | Blokovat | Admin
i2cget -y 1 0x20 0x00 | xxd -r | xxd -b
Toho sudo je dobré se zbavit. Stačí být členem skupiny i2c.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 17:23 Kiko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
To je nějaké čudne https://s17.postimg.org/9ukun1v5b/i2c.png
11.2.2018 17:42 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Vypadá to dobře. Zřejmě ten tvůj i2cget vrací víc než jeden bajt.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 17:44 Koko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Klucí toto funguje echo $((16#FF))

Problém je že výstup toho expanderu je ve tvaru 0x00

Tím pádem musím první odstranit to 0x

Já jsem lama a zvládnu to první načíst do proměnné, pak smazat to 0x a pak převést.

Určitě to půjde jednodušeji na jeden řádek.

Nepomůže někdo?
11.2.2018 18:00 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Asi chceš tohle:
echo $((16#${stavregistru#0x}))
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 18:03 kiko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
asi jo ale už mi hrabe, to je do decimal a ne binary.
11.2.2018 18:24 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Doufám, že tam máš alespoň Perl :-)
perl -e 'printf "%b\n",'"$stavregistru"
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 18:42 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Nepotřebuje perl. příkaz printf je součástí balíku coreutils (alespoň tedy u Debianu).
11.2.2018 23:04 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Jenže printf z coreutils to neumí. Proto ten Perl.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 18:45 Kiko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
No mam, ale to je také do decimal.

Binary bych potřeboval.

Nebo co doinstalovat, aby mi fungovalo echo "ibase=16; obase=2; 5F" | bc

bc: příkaz nenalezen
11.2.2018 21:52 Radovan
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
sudo apt-get install bc
11.2.2018 23:08 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Mně ten Perl vypisuje krásně binárně. Asi děláš něco jinak.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 18:40 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co takhle použít printf?
user@sstroj:~$ stavregistru="0x00"
user@sroj:~$ printf "%08x\n" $stavregistru
00000000
To zalomení je tam pochopitelně jen kvůli tomu příkladu.
11.2.2018 18:47 Kiko
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Děkují, funguje.
11.2.2018 23:12 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Jenže tohle nevypisuje binárně, ale hexa.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.2.2018 23:21 ehm
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Potvrzuji.
jose17 avatar 12.2.2018 00:27 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Hexadecimal to binarní
Odpovědět | | Sbalit | Link | Blokovat | Admin
v pythone mozno toto:
➜  ~ python -c "import sys; print('{:08b}'.format(int(sys.argv[1], 0)))" 0xfe
11111110
➜  ~ python -c "import sys; print('{:08b}'.format(int(sys.argv[1], 0)))" 0x00
00000000
Ja vim, on vi, ty nano!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.