Întrebări înrudite 'bit-manipulation'
Cum se inversează biți ai unui octet?
De exemplu, în PHP, cum aș inversa biții octetului 11011111 în 11111011 ?
17307 vederi
schedule
22.08.2022
Codificare întreg de lungime variabilă
Încerc să fac inginerie inversă a unui algoritm de decompresie LZ1/LZ77. Lungimea unei zone a bufferului/ferestrei de decodare care urmează să fie scoasă este codificată în fișier ca un întreg de lungime variabilă. Am citit cât am putut despre...
2852 vederi
schedule
04.09.2022
întrebare despre biți de schimb [închis]
Am o întrebare pe acest subiect, cred că răspunsul este incorect
Schimbați biți într-un număr în C
1110 1011 este egal cu 235, dar primesc 3051 de ce?
337 vederi
schedule
12.08.2022
Convertiți matricea de biți în uint sau în valoare similară
Am o gamă largă de valori booleene și vreau să le împachetez/despachetez într-o valoare uint sau similară. Cum pot face asta în C#?
4339 vederi
schedule
17.09.2022
Bună Veebs, mulțumesc pentru răspuns, dar asta nu este ceea ce caut... De fapt, va fi un singur copil, dar se va schimba în timpul rulării. Este ca un schimbător de aspect și în orice moment cineva poate schimba o legare care ar trebui să...
455 vederi
schedule
28.01.2024
cel mai rapid mod de a număra numărul de biți setați pentru un interval
Trebuie să am o modalitate rapidă de a număra numărul de biți setați pentru un interval de index pentru un vector de biți. De exemplu, având în vedere 10000100100011000 și intervalul de index [2, 5] , randamentul este 2. Indicele începe cu 0 din...
1335 vederi
schedule
11.08.2022
Deplasarea biților pentru a înmulți un număr întreg cu 10
Întrebare simplă, dar nu prea îmi dau seama:
Dacă am un număr întreg, să spunem 12, și efectuez următoarea manipulare de biți pe el:
int i = 12;
i = (i << 3) + (i << 1);
Am ajuns cu 120 (12*10). Acesta este cazul oricărui...
8116 vederi
schedule
12.09.2022
Setarea unui bit al unui caracter nesemnat cu un alt bit al altui caracter nesemnat fără condițional
Folosesc biți pentru a activa și dezactiva biții în acest fel:
unsigned char myChar = ...some value
myChar |= 0x01 << N // turn on the N-th bit
myChar &= ~(0x01 << N) //turn off the N-th bit
Acum, să presupunem că valoarea...
4407 vederi
schedule
19.09.2022
Cum să împărțiți un int lung nesemnat (32 de biți) în 8 nibbles?
Îmi pare rău dacă întrebarea mea este confuză, dar iată exemplul a ceea ce vreau să fac,
să spunem că am un int lung nesemnat = 1265985549 în binar, pot scrie asta ca 01001011011101010110100000001101
acum vreau să împart acest număr binar de 32...
2555 vederi
schedule
15.09.2022
Mod mai rapid de a efectua amestecarea biților pe un întreg cu Java
Mă întreb dacă există o modalitate mai rapidă de amestecare a biților unui întreg, mai degrabă decât următoarele
public int shuffleBits(int number) {
int int_width = 31;
Random random = new Random();
for(int i = 0; i < int_width; i++)...
1168 vederi
schedule
21.07.2022
Cum să găsești bitboard-uri magice?
const int BitTable[64] = {
63, 30, 3, 32, 25, 41, 22, 33, 15, 50, 42, 13, 11, 53, 19, 34, 61, 29, 2,
51, 21, 43, 45, 10, 18, 47, 1, 54, 9, 57, 0, 35, 62, 31, 40, 4, 49, 5, 52,
26, 60, 6, 23, 44, 46, 27, 56, 16, 7, 39, 48, 24, 59, 14, 12, 55,...
2793 vederi
schedule
01.07.2022
Scoateți al-lea bit din buffer și mutați restul
Oferind un buffer uint8_t de x lungime, încerc să vin cu o funcție sau o macrocomandă care poate elimina al n-lea bit (sau de la n la n+i), apoi deplasați la stânga biții rămași.
exemplu #1:
pentru intrarea 0b76543210 0b76543210 ... ,...
1473 vederi
schedule
15.08.2022
Obținerea cea mai puțin semnificativă în JavaScript
Încerc să obțin cel mai puțin semnificativ bit dintr-un number în JavaScript.
Am urmatorul cod:
let lsb = (parseInt("110", 2) & 0xffff);
După înțelegerea mea, bitul cel mai puțin semnificativ din 110 este 1 1 0, deoarece este bitul...
4506 vederi
schedule
14.08.2022
Există o metodă non-iterativă de a activa și dezactiva grupuri de biți folosind o mască?
Să presupunem că am două șiruri de biți: runs și toggler , unde o rulare este un grup de biți asemănători învecinați. Ambele șiruri de biți pot avea un aranjament arbitrar de 1 și 0 (pornit și respectiv oprit). De dragul întrebării, voi folosi...
63 vederi
schedule
31.07.2022
Tip de date încorporat cu dimensiunea mai mică de 1 octet
Cele mai puternice limbaje de programare au tipuri de date de min. Dimensiunea de 1 octet. Știu că este posibil să accesezi celulele de memorie individuale folosind mascarea biților, dar de ce limbajele de programare nu acceptă tipul de date mai mic...
350 vederi
schedule
30.09.2022
Schimbare eficientă de biți în python3
Îmi este foarte greu să gestionez bitswapping-ul în python3.
Până acum am găsit algoritmi de schimb rapid de biți în C aici și aici , dar nu am reușit să traduc corect asta în python3, deoarece manipularea datelor, utilizarea tipurilor corecte...
227 vederi
schedule
30.09.2022
Cum pot imprima binarul de caractere dintr-un fișier de intrare?
Trebuie să pot prelua un fișier text: de ex. text.txt
a
b
c
0
1
2
și trebuie să imprim valorile binare ale acestor caractere. Iata ce am scris pana acum:
#include "p01.h"
int main(int argc, char **argv) {
FILE *fptr =...
42 vederi
schedule
03.09.2022
Manipulare bit cu bit în python
În prezent, scriu un program în python care comprimă un fișier folosind codarea Huffman. Din cauza python-ului, am avut probleme în încercarea de a programa la un nivel atât de scăzut. O problemă la care nu am reușit să-mi înțeleg capul este...
81 vederi
schedule
23.07.2022
Unirea și mascarea biților, cum funcționează asta?
iată un cod C:
float phaseFrac(unsigned int inPhase)
{
union { unsigned int itemp; float ftemp; } u;
u.itemp = 0x3F800000 | (0x007FFF80 & ((inPhase)<<7));
return u.ftemp - 1.f;
}
Nu pot să-mi înțeleg folosirea „uniunii”...
1051 vederi
schedule
08.11.2022
Citirea caracterelor la un pic
Aș dori să pot introduce un caracter de la tastatură și să afișez codul binar pentru respectiva cheie în formatul 00000001, de exemplu.
Mai mult, aș dori, de asemenea, să citesc biții într-un mod care să-mi permită să ies dacă sunt adevărate sau...
658 vederi
schedule
28.10.2023