Articles of int

C bits inversés en entier non signé

Je suis en train de convertir un entier non signé en binary à l’aide d’opérateurs au niveau du bit, et je fais actuellement le nombre entier & 1 pour vérifier si le bit est 1 ou 0 et la sortie est affichée, puis décalez le décalage à droite de 1 pour le diviser par 2. […]

Char-array to int

J’ai un caractère de tableau char input[11] = {‘0′,’2′,’7’, ‘-‘,’1′,’1′,’2′, ,’0′,’0′,’9′,’5’}; Comment convertir une entrée [0,1,2] en int one = 27 , une entrée [3,4,5,6] en int two = -112 et une entrée [7,8,9,10] en int three = 95 ? merci, JNK

Cast int pour pointeur – pourquoi lancer long en premier? (comme dans p = (vide *) 42;)

La documentation de GLib contient un chapitre sur les macros de conversion de type. Dans la discussion sur la conversion d’un int en un pointeur *void il est dit (emphase mienne): Naïvement, vous pouvez essayer ceci, mais c’est incorrect: gpointer p; int i; p = (void*) 42; i = (int) p; Encore une fois, cet […]

Existe-t-il un moyen portable de définir INT_MAX?

J’ai trouvé les définitions suivantes dans /usr/include/limits.h: # define INT_MIN (-INT_MAX – 1) # define INT_MAX 2147483647 En outre, il semble que tous les XXX_MAX de ce fichier d’en-tête soient explicitement définis à partir d’une constante numérique. Je me demande s’il existe un moyen portable (en fonction de la taille des mots sur différentes plates-formes) […]

Puis-je stocker 4294967295 in unsigned int? Int est 4 octets sur ma machine

Pourquoi est-ce que je reçois 0 ?? Et avertissement du compilateur: le format ‘% d’ attend un argument de type ‘int‘, mais l’argument 3 a le type ‘long unsigned int’ Voici le code: #include //function declerations… int power(int base, int on); int main(void) { printf(“%d”,power(2, sizeof(int)*8)-1); return 0; } int power(int base, int on) { […]

Comment convertir ou convertir un entier non signé en entier en C?

Mes excuses si la question semble bizarre. Je débogue mon code et cela semble être le problème, mais je ne suis pas sûr. Merci!

C Unsigned int fournissant une valeur négative?

J’ai un entier non signé, mais quand je l’imprime avec% d, il y a parfois une valeur négative?

Pourquoi un float converti en int est-il arrondi en C?

Dans une interview, on m’a demandé ce que je pensais du code suivant: #include int main() { float f = 10.7; int a; a = f; printf (“%d\n”, a); } J’ai répondu: Le compilateur émettra un avertissement lorsque vous modifiez un float en int sans casting. Le int aura la valeur de garbage comme vous […]

Convertir int (32 bits) en caractère (8 bits)

J’ai ces définitions: int data = uartBaseAddress[UART_DATA_REGISTER / 4]; // data coming from UART RX port char message[20]; // array of 20 chars Maintenant, quand j’essaie de faire ceci: message[0] = (char) data; printf(“%x”, message[0]); Il imprime (par exemple): “ffffff9c” . Bien sûr, je ne veux que les 8 derniers bits (“9c”) et je ne […]

opérations avec différents types int

J’ai un programme qui utilise plusieurs types différents d’int. Le plus souvent utilisés sont uint64_t et le standard int . Cependant, je me demande si je peux effectuer en toute sécurité des opérations mixtes. Par exemple, j’ai un uint64_t et je veux y append un int et stocker cette valeur sous un autre uint64_t . […]