Проблема с назначением персонажа в Objective C - PullRequest
0 голосов
/ 21 июля 2011

Я пытаюсь присвоить значение char, как это

char Cipher1[16] = {55,149,31,253,212,158,217,64,226,62,149,241,255,147,115,155};

но после присвоения ему присваивается значение Chiper1, а не точное значение

  55 -107 31 -3 -44 -98 -39 64 -30 62 -107 -15 -1 -109 115 -101 

это правильное присвоение char в объективе c

Ответы [ 3 ]

3 голосов
/ 21 июля 2011

это разница между байтом со знаком и без знака ... распечатайте его в виде знака без знака, и вы получите тот же результат.

Примечание: символ --- подписан, поэтому значение больше, чем128 занимают 8 бит для хранения - все значения больше 128 показаны отрицательными (это относится к знаковому биту.)

0 голосов
/ 21 июля 2011

Вы сейчас используете подписанный символ.Вместо этого переключитесь на unsigned:

unsigned char Cipher1[16] = {55,149,31,253,212,158,217,64,226,62,149,241,255,147,115,155}; 

Это даст вам правильный результат.

0 голосов
/ 21 июля 2011

Разве не подписан символ, поэтому в диапазоне от -128 до +127, поэтому ваши значения преобразуются в значения со знаком?

Конечно, вы хотите беззнаковый символ, если вы хотите значения в диапазоне от 0 до 255?

Также согласен с Владимиром, как вы выводите значения, вы уверены, что проблема не в выводе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...