Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

retirer permissions écriture

3 réponses
Avatar
N Quérel
Bonjour,

mon truc est tout simple.
J'ai un fichier.
Je veux retirer les droits en permissions pour tout le monde.

Par exemple :

ancienne permission : 111110110
nouvelle permission : 101101101

la table de vérité est :

0 0 -> 0
0 1 -> 0
1 0 -> 1
1 1 -> 0

Mais avec les AND, OR, XOR et compangie, je n'arrive pas à la faire.

J'ai besoin d'aide.
merci

3 réponses

Avatar
Miguel
si tu prends a ton première proposition et b ta seconde, je crois que
a ET (NON b)
fait l'affaire...

"N Quérel" a écrit dans le message de
news:4092c5cc$0$21087$
Bonjour,

mon truc est tout simple.
J'ai un fichier.
Je veux retirer les droits en permissions pour tout le monde.

Par exemple :

ancienne permission : 111110110
nouvelle permission : 101101101

la table de vérité est :

0 0 -> 0
0 1 -> 0
1 0 -> 1
1 1 -> 0

Mais avec les AND, OR, XOR et compangie, je n'arrive pas à la faire.

J'ai besoin d'aide.
merci


Avatar
N Quérel
"Miguel" wrote in
news:4092d070$0$417$:

si tu prends a ton première proposition et b ta seconde, je crois que
a ET (NON b)
fait l'affaire...



Merci.
Mais avec un peu de relax, la solution m'était venue.

Avatar
Horst Kraemer
On 30 Apr 2004 21:31:58 GMT, "N Quérel"
wrote:

Bonjour,

mon truc est tout simple.
J'ai un fichier.
Je veux retirer les droits en permissions pour tout le monde.

Par exemple :

ancienne permission : 111110110
nouvelle permission : 101101101


Du construis la masque pour "write" en octal

m_write = 0222; /* 010010010

mais en général tu ne veux pas retirer write pour root, alors plutot

m_write = 022; /* 000010010 */

Alors pour retirer "write" de la permission p_old

p_new = p_old & ~m_write

Règles générales

ajouter m : p_new = p_old | m /* p_old OR m */
retirer m : p_new = p_old & ~m /* p_old AND NOT m */


l'opération a AND NOT b annulle dans a tous les bits qui sont 1 dans
b.

--
Horst