-1
votes

Quoi (int & 1)! = 0 moyenne

Aujourd'hui, je gère du code de la personne âgée. La valeur de Test1 est chargée de dB, je vais essayer de faciliter la tâche ci-dessous.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type ="text" id ="test1" value='127'>

<input type ="button" id="checkWeekday"  value="test">


2 commentaires

L'opérateur & est un binaire et une opération


en.wikipedia.org/wiki/boollean_algebra


4 Réponses :


2
votes

si (((_repeatDows & 1)! = 0) vérifie si le bit le plus bas dans _repeatwows est 1 .

si ((((_repeatDows & 2)! = 0) vérifie si le deuxième bit dans _repeatDows est 1 .

...

si (((_repeatDows & 8)! = 0) vérifie si le quatrième bit dans _repeatDows est 1 . .

et ainsi de suite.


1 commentaires

Plus d'informations. Ici serait utile. Comme quel est l'opérateur binaire & , comment il vérifie si le premier, deuxième, etc. Bit est un 1, pourquoi vous voudriez faire cela, etc.



1
votes

& code> est le bit et opérateur. Il compare les valeurs (en 32 bits binaires) bit par un peu. Pour chaque endroit où les deux valeurs ont un 1, A 1 est sortie, si elles ont à la fois un 0 ou un ait un 0 et l'autre a 1, a 0 est sortie.

Par exemple: P>

Le binaire pour 8 est: 1000 code>
Le binaire pour 12 est: 1100 code> p>

comparer ces deux, nous voyons que seule la plupart des chiffres de gauche sont 1 pour les deux valeurs. p>

donc le résultat est 1000 code> ou 8. p>

p>

// show binary of 8
console.log( (8 >>> 0).toString(2) );

// show binary of 12
console.log( (12 >>> 0).toString(2) );

// show result of 8 & 12
console.log( 8 & 12 );


0 commentaires

1
votes

Il s'agit d'une implémentation très simple d'un jeu de bits. https://fr.m.wikipedia.org/wiki/bit_array Vous ne voyez pas ce genre de hacks de niveau bas utilisé ces jours-ci. Le code de modem utiliserait un définir à la place.

Une structure de données de jeu de bits peut représenter un ensemble d'éléments jusqu'à N comme nombre de n bits, où un bit étant "ON" (ou 1) correspond à l'élément étant présent. Si le bit est éteint (0), l'élément n'est pas présent. Un bit est numériquement une puissance de deux: le premier élément est 1, le deuxième élément est 2, puis 4, 8, 16, etc.

Le bitwise et l'opération calcule l'intersection de deux ensembles ("quels éléments sont présents dans les deux ensembles"). De même, ou calcule l'Union ("quels éléments sont présents dans au moins un ensemble").

Dans le code que vous avez trouvé, les articles sont des jours de la semaine. Il y a 7 jours, vous avez donc besoin de 7 bits. Un ensemble avec dimanche et lundi nsnumériquement 1 + 2 = 3. Un ensemble avec tous les jours de la semaine est de 1 + 2 + 4 + 8 + ... + 64 = 127.


0 commentaires

1
votes

Quelques exemples à cogitate

p>

document.write('127 ->', (127).toString(2),'<br>')
document.write('0b1111111 ->', (0b1111111).toString(10),'<br>')

document.write('1 ->', (1).toString(2),'<br>')
document.write('2 ->', (2).toString(2),'<br>')
document.write('4 ->', (4).toString(2),'<br>')
document.write('8 ->', (8).toString(2),'<br>')
document.write('16 ->', (16).toString(2),'<br>')

document.write('127 & 4 ->', (127 & 4).toString(2),'<br>')

document.write('0b1111011 & 4 -> ', (0b1111011 & 4).toString(2),'<br>')
document.write('0b1111011 | 4 -> ', (0b1111011 | 4).toString(2),'<br>')


0 commentaires