Форум программистов, компьютерный форум CyberForum.ru

Представление целых чисел массивом байтов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание .ехе файла http://www.cyberforum.ru/cpp-beginners/thread45458.html
У меня установлена Borland Developer Studio Turbo C++. При создании программки, создается и .ехе файл. У меня на компе он запускается и нормально работает, но когда этот же .ехе запустить на другом компе, то появляется ошибка (CC3270MT.DLL не был найден. Повторная установка приложения может исправить эту проблему). Когда я со своего компа скопировал эту библиотеку на другой комп, то все равно эта...
C++ Копирование Строк В общем, я продолжаю разборки с С(++) и у меня снова вопрос, ответ на который ув. тов. Google не дал. Гад! Задача: даны три строки, две считать с клавиатуры (разделитель — LF или CR), сотворить так, чтоб третья строка содержала строку самой большой длины из введенных двух и сделать с ней некоторые манипуляции. Проблема: долго думал над словом "сотворить" в этом предложении, вроде именно оно... http://www.cyberforum.ru/cpp-beginners/thread45415.html
программы C++
как писать программы и какие программы для этого нужны?посоветуйте какие сайты лучше посетить для изучение(и понемания) языка програмирования!!!
Функция С++ getline() C++
Здравствуйте! Скажите пожалуйста, каков смысл функции cin.getline(). Если не сложно,приведите пожалуйста пример.
C++ В каких случаях Вы используете экспорт шаблонов и для чего? http://www.cyberforum.ru/cpp-beginners/thread45402.html
И в каких книгах подробно описано использование экспорта шаблонов в C++.
C++ Указатели Для чего нужны указатели, ув. программисты? объясните новичку, буду благодарен подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
29.07.2009, 21:29     Представление целых чисел массивом байтов
А чего там думать - сложение тривиально:
C
1
2
3
4
5
6
7
8
9
10
11
12
#define MAX_BVAL_BYTES 16
 
unsigned char bv0[MAX_BVAL_BYTES], bv1[MAX_BVAL_BYTES], bv2[MAX_BVAL_BYTES];
unsigned char flag;
unsigned int sum;
int i;
 
flag= 0;
for ( i= 0; i<MAX_BVAL_BYTES; i++ ) {
    sum= bv0[i]+bv1[i]+flag;
    bv2[i]= sum&0xFF; flag= (sum>=256) ? 1 : 0;
}
Добавлено через 6 минут 27 секунд
Смена знака тривиально - это инвертирование всех бит, а потом прибавить 1.
C
1
2
3
4
5
6
7
8
9
10
11
12
#define MAX_BVAL_BYTES 16
 
unsigned char bv0[MAX_BVAL_BYTES], bv2[MAX_BVAL_BYTES];
unsigned char flag;
unsigned int sum;
int i;
 
flag= 1;
for ( i= 0; i<MAX_BVAL_BYTES; i++ ) {
    sum= (bv0[i]^0xFF)+flag;
    bv2[i]= sum&0xFF; flag= (sum>=256) ? 1 : 0;
}
Добавлено через 1 минуту 25 секунд
Вычитание разложим так: A-B = A+(-B).
Операцию сложения мы умеем делать.
Операцию смены знака мы тоже умеем делать.
Значит можем сделать и вычитание.
 
Текущее время: 13:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru