Hirdetés
- OnePlus Pad 3
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Bluetooth hangszórók
- Gusztusos, 11 literes térfogatú Jonsbo ház jött a kompaktabb vasakat kedvelőknek
- Projektor topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- ThinkPad (NEM IdeaPad)
- VR topik (Oculus Rift, stb.)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen egeret válasszak?
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Jester01
veterán
Ugye a kettővel osztás az egy bit léptetés. Hexa ábrázolás esetén a szomszédos jegy legalsó bitje kell még a működéshez.
Számolgatással pl. így lehet:
inline char to_hex(int v)
{
return v > 9 ? (v + 'A' - 10) : (v + '0');
}
inline int from_hex(char c)
{
return c > '9' ? (c - 'A' + 10) : (c - '0');
}
void shift(char* buffer)
{
int i;
int carry = 0;
for(i = 3; i >= 0; i--)
{
int v = from_hex(buffer[ i ]);
buffer[ i ] = to_hex((v >> 1) | carry);
carry = (v << 3) & 8;
}
}
Ha a számolgatás nem tetszik, akkor lookup táblát is lehet csinálni, pl így:
void shift(char* buffer)
{
static struct { char out[2], f; } map['G'] = {
['0'] = {''08'', 0},
['1'] = {''08'', 1},
['2'] = {''19'', 0},
['3'] = {''19'', 1},
['4'] = {''2A'', 0},
['5'] = {''2A'', 1},
['6'] = {''3B'', 0},
['7'] = {''3B'', 1},
['8'] = {''4C'', 0},
['9'] = {''4C'', 1},
['A'] = {''5D'', 0},
['B'] = {''5D'', 1},
['C'] = {''6E'', 0},
['D'] = {''6E'', 1},
['E'] = {''7F'', 0},
['F'] = {''7F'', 1}
};
int i;
int flag = 0;
for(i = 3; i >= 0; i--)
{
char c = buffer[ i ];
buffer[ i ] = map[c].out[flag];
flag = map[c].f;
}
}
Hibakezelés ezekben nyilván nincs.
Más ötlet momentán nem jut eszembe.
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Kézbe fogható paradoxon lett az iPhone Air
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Az Apple bemutatta az iPhone 17-et
- OnePlus Pad 3
- Nagyon erős ajánlat lett az Apple Watch SE 3
- A magas vérnyomást is felismerheti az Apple Watch Series 11
- BestBuy topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Bluetooth hangszórók
- Kerékpárosok, bringások ide!
- További aktív témák...
- GYÖNYÖRŰ iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3392, 94% Akkumulátor
- HP ZBook Studio G7 i7-10850H 32GB 1000GB Nvidia Quadro T1000 15.6" FHD 1 év garancia
- 145 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- LENOVO Legion Y530-15ICH - 15,6" FHD IPS - i7-8750H - 8GB - ÚJ 512GB SSD - Win10 - GTX 1050 Ti
- Samsung 213T 4:3 1600x1200 VA monitor eladó
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest