Questions sur bit-shift

8
réponses

Qu'est-ce qu'un opérateur de changement de bit (bit-shift) et comment fonctionne-t-il?

j'ai essayé d'apprendre C dans mon temps libre, et d'autres langues (C#, Java, etc.) ont le même concept (et souvent l ... que gotchas rôder autour du virage? En d'autres termes, un guide débutant absolu à bit shifting dans toute sa bonté.
demandé sur 2008-09-26 23:47:15
3
réponses

Qu'est-ce que l'opérateur>= en C?

donné par un collègue comme un puzzle, Je ne peux pas comprendre comment ce programme C compile et fonctionne réelleme ... 10, 1 }; while( a[ 0xFULL?'"151900920"':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return 0; }
demandé sur 2014-08-26 02:03:05
16
réponses

Est-ce que la multiplication et la division utilisant des opérateurs de postes en C sont réellement plus rapides?

la Multiplication et la division peuvent être obtenues en utilisant des opérateurs de bits, par exemple i*2 = i ... e d'utiliser i*10 directement? Y a-t-il des entrées qui ne peuvent pas être multipliées ou divisées de cette façon?
demandé sur 2011-06-15 15:31:04
6
réponses

Qu'est-ce que L'opérateur JavaScript> et comment l'utilisez-vous?

je regardais le code de Mozilla qui ajoute une méthode de filtre à Array et il avait une ligne de code qui m'a embroui ... gt;>> 0; je n'ai jamais vu >>> utilisé en JavaScript avant. Qu'est-ce que c'est et que fait-il?
demandé sur 2009-11-30 23:59:01
9
réponses

Comment fonctionnent les opérateurs de shift en Java? [dupliquer]

cette question a déjà une réponse ici: qu'est-ce qu'un opérateur de changement de ... 000000000000 100 10000000000000 1000000000000000000000000 quelqu'un pourrait-il s'expliquer?
demandé sur 2012-06-06 12:44:38
11
réponses

Sont les opérateurs de décalage (

En C, sont les opérateurs de décalage ( << , >> ) arithmétique ou logique?
demandé sur 2008-08-11 12:55:13
5
réponses

Opérateurs Bitwise et " endianness"

Ne boutisme de la matière à toutes les opérations bit à bit? Soit logique , soit "shifting"? je t ... la doit être considéré ou est-ce un fait gaspillé? dans le cas où il des questions, je suis à l'aide de C.
demandé sur 2009-06-25 03:55:22
5
réponses

avertissement: décompte de décalage à gauche> = largeur du type

je suis très novice dans le traitement des bits et j'ai été bloqué sur l'avertissement suivant lors de la compilation: ... its de long. Qu'est-ce que je rate ici? sizeof et CHAR_BIT inexactes ou ai-je mal compris quelque chose de fondamental?
demandé sur 2010-11-17 06:48:22
14
réponses

Ce n'deux gauche-crochets "

essentiellement les questions dans le titre. Je regarde le code source MVC 2: [Flags] public enum HttpVerbs { ... = 1 << 4 } et je suis juste curieux de savoir ce que fait le double brackers d'angle gauche << .
demandé sur 2010-03-22 18:32:46
8
réponses

Pourquoi l'opération de déplacement à gauche invoque-t-elle un comportement non défini lorsque l'opérande à gauche a une valeur négative?

dans le sens numérique, l'opération de déplacement à gauche invoque un comportement non défini lorsque l'opérande du c ... gauche a une valeur négative. citation pertinente de la norme ISO C99 (6.5.7 / 4) le résultat de E1
demandé sur 2010-09-24 11:26:22
8
réponses

Pourquoi utiliser L'opérateur Bitwise-Shift pour les valeurs dans une définition de noyau?

Apple utilise parfois L'opérateur Bitwise-Shift dans leur enum définitions. Par exemple, dans le CGDirectDisplay.h le f ... _t CGDisplayChangeSummaryFlags; Pourquoi ne pas simplement utiliser l'incrémentation intcomme dans un "normal" enum?
demandé sur 2010-10-22 22:44:03
7
réponses

Qu'est-ce que does AND 0xFF fait?

Dans le code suivant: short = ((byte2 << 8) | (byte1 & 0xFF)) Quel est le but de &0xFF? Parce que d'autres estiment que je le vois écrit comme: short = ((byte2 << 8) | byte1) et ça a l'air de marcher aussi?
demandé sur 2013-02-05 21:14:59
1
réponses

Pourquoi était de 1

dans toutes les versions de C et C++ avant 2014, en écrivant 1 << (CHAR_BIT * sizeof(int) - 1) a causé un compo ... on-portable pour écrire 1 << 31 (sur un système à 32 bits int). Alors, pourquoi ce changement a été fait en C++14?
demandé sur 2014-10-13 03:24:21
1
réponses

opérateur de décalage vers la droite non signé '>>>' en Java [dupliquer]

Double Possible: Pourquoi (-1 >>> 32) = -1? l'opérateur de poste de droite no ... ryString(-1>>>32)) sortie 11111111111111111111111111111111 ne devrait-il pas être 0?
demandé sur 2013-01-24 16:19:30
2
réponses

Le décalage arithmétique à droite donne un résultat bidon?

je dois être absolument fou ici, mais gcc 4.7.3 sur ma machine donne le résultat le plus absurde. Voici le code exact que ... nsigned), mais de toute façon, voici mon résultat: 100000 100000 100000 Suis-je fou? Que pourrait-il bien se passer?
demandé sur 2013-10-28 17:49:27
4
réponses

Quand utiliser les opérateurs de quart > en C#?

j'étudiais les opérateurs de quart au C#, en essayant de trouver quand les utiliser dans mon code. j'ai trouvé une répon ... qu'un sait si nous pouvons accomplir tous ces éléments dans C#? Est-il plus pratique pour opérateurs de décalage en C#?
demandé sur 2009-12-19 20:38:11
6
réponses

Besoin d'aide comprendre la méthode "getbits ()" dans le Chapitre 2 de K&R C

au chapitre 2, la section sur les opérateurs bitwise (section 2.9), j'ai de la difficulté à comprendre comment fonctionne ... fois avec le code et la vérification de mes résultats en utilisant calc.Dieu merci, il a une vue binaire!) de l'aide?
demandé sur 2008-10-13 17:46:05
3
réponses

L'arithmétique binaire " / " maj droite "un shr b" avec des nombres entiers signés que stockées dans des variables – de mauvais résultats! L'insecte interne de Delphi?

j'ai une question (ou plus probablement un rapport de bogue) sur le comportement de bit shifting dans Delphi (testé da ... ci beaucoup à Stack Exchange Team pour l'aide dans l'affichage de cet article. Les gars, vous êtes les meilleurs!
demandé sur 2015-08-24 21:45:37
6
réponses

Est le décalage de bits O(1) O(n)?

Sont des opérations de déplacement O(1) ou O(n)? est-il logique que les ordinateurs nécessitent généralement plus d'opéra ... porte le nombre d'endroits où nous devons nous déplacer? PS: vous vous demandez si matériel est une balise appropriée..
demandé sur 2012-01-31 21:05:43
4
réponses

Devrais-je mordre pour diviser par 2 en Java? [dupliquer]

duplicata possibles: est-ce que le déplacement des bits est plus rapide que la multiplication et ... en une opération de bit-shift, ou devrais-je effectuer manuellement l'opération de bit-shift dans le code moi-même?
demandé sur 2010-11-01 23:15:46
3
réponses

Est 1

selon la réponse à cette question : Le résultat de E1
demandé sur 2017-07-23 21:21:41
3
réponses

Comment l'opérateur de poste est-il évalué en C?

j'ai récemment remarqué un comportement (bizarre) quand j'ai mené des opérations en utilisant shift >><<! po ... l m'expliquer pourquoi j'ai obtenu un tel résultat? P. S: dans mon environnement la taille unsigned char est de 1 octet
demandé sur 2014-09-23 11:27:42
6
réponses

Déplacement vers la droite des nombres négatifs en C

j'ai le code C dans lequel je fais ce qui suit. int nPosVal = +0xFFFF; // + Added for ease of understanding int nNegVa ... ; 1 = (int) -32767.5 = -32768 C'est-à-dire, -32767.5 est arrondi à -32768. cette interprétation est-elle correcte?
demandé sur 2009-12-07 08:09:39
7
réponses

Différence entre SHL et SAL en 80x86

j'ai appris à travailler avec l'assembleur 80x86, donc dans l'opération de changement de bit, j'ai eu un problème avec L' ... uit : MOV X, 0AAH SAL X, 4 MOV X, 0AAH SHL X, 4 quand utiliser SHL et quand utiliser SAL? Quelle est la différence?
demandé sur 2011-12-04 09:04:12
3
réponses

Quelle est la raison des langages de haut niveau comme C#/Java mask l'opérande bit shift count?

il s'agit davantage d'une conception de langage que d'une question de programmation. ce qui suit est un extra ... uitivement? (Encore mieux s'ils peuvent prendre un compte négatif pour signifier de changer dans L'autre direction!)
demandé sur 2010-02-22 17:31:49
1
réponses

Pourquoi (-1> 32) = -1? [dupliquer]

possibilité de dupliquer: pourquoi 1 > > 32 = = 1? -1 comme un int converti ... (31 0 et 1 1). Mais quand je le déplace de droite 32 fois, j'obtiens -1 de nouveau. Ça ne devrait pas être égal à 0?
demandé sur 2011-01-27 10:53:55
4
réponses

Opérateurs de postes en bits sur Types signés

j'essaie de comprendre le comportement des opérateurs bitwise sur les types signés et non signés. Conformément au docu ... 1 .Veuillez donner plus de détails sur l'utilisation de l'opérateur de décalage à droite sur signé négatif int.
demandé sur 2012-11-24 23:01:04
3
réponses

Différence entre > et > opérateurs [dupliquer]

cette question a déjà une réponse ici: différence entre > > > et > > ... n le 2S complément de la façon dont Java utilise les opérateurs se comporteraient tout à fait différemment, correct?
demandé sur 2009-12-29 03:43:06
2
réponses

Comportement non défini lorsque constexpr-évaluer bitshift négatif?

considérons l'extrait de code suivant: int main(){ constexpr int x = -1; if(x >= 0){ constex ... ne sera jamais utilisé. dans mon code actuel, x est un paramètre de modèle, qui peut être négatif ou non.
demandé sur 2017-10-01 11:21:25