Как перевести число в си
Перейти к содержимому

Как перевести число в си

  • автор:

Перевести число в десятичную систему счисления

Как максимально просто перевести байт из двоично-десятичной в десятичную систему счисления
Всем привет в си я не силен , пот столкнулся с проблемой. Приходит мне байт в двоично десятичной.

Перевод из двоичной в десятичную систему счисления
Помогите с переводом из двоичной в восьмеричную систему счисления. Проверку по алфавиту можно.

Перевод из двоичной в десятичную систему счисления
Нужно перевести число любой длины из двоичной в десятичную и чтобы после завершения перевода можно.

Перевод чисел из четверичной в десятичную систему счисления
Помогите, пожалуйста, с программой перевода целой и дробовой части числа из четверичной в десятинну.

Эксперт C

27695 / 17314 / 3809
Регистрация: 24.12.2010
Сообщений: 38,979

1 2 3 4 5 6 7 8 9 10
char x16[] = "1Ab35": int N = 0, k; for(i=0; x16[i]; i++) char d = x16[i]; if ('0'  d && d  '9') k = d - '0'; else if ('a'  d && d'f') k = d - 'a' + 10; else if ('A'  d && d'F') k = d - 'A' + 10; else k = 0; // неправильная цифра считается нулем N = 16*N + d; }

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Перевод десятичного числа в двоично-десятичную систему счисления
Разработать программу, выполняющую перевод десятичного числа в двоично-десятичную систему.

Написать программу для перевода из двоичной в десятичную систему счисления
Помогите написать программу:перевод из двоичной в двоичную.заранее благодарю

Строка: Перевести число из римской системы счисления в десятичную систему счисления
Введите массив символов из 13 элементов. Перевести число из римской системы счисления в десятичную.

Перевести число из системы счисления с основанием 19 в десятичную систему счисления
Уважаемые разбирающиеся во всём этом люди, прошу вас помочь мне с этой задачей Примечания.

Перевести число в десятичную систему счисления
Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную.

Перевод числа с десятичной системы в двоичную

Простите за банальный вопрос, но реально уже с пол часа лажу в нете немогу нормальной функции найти.
Напишите пож функцию.

Лучшие ответы ( 2 )

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

Ответы с готовыми решениями:

Перевод из десятичной системы исчесления в двоичную
Помогите разобраться в чем ошибка. Вот попробывал сделать что то типо для перевода из десятиричной.

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

Перевод из десятичной(двоичной) системы счисления в двоичную(десятичную)
Всем добрый день, кто может помочь как можно реализовать данную задачу на С? Уже долго мучаюсь с.

Перевод из десятичной системы unsigned long long в двоичную c битовыми операциями, получается странный реультат
Доброго времени суток! Нужно выразить число в двоичной системе, показав все 64 символа.

Эксперт С++

2890 / 1825 / 356

Регистрация: 09.09.2010

Сообщений: 3,841

Elanso,

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include //от 0 до 255 int main() { int dec, v; std::cin >> dec; v = 128; for(int i = 1; i  8; i++) { if(dec >= v) { std::cout  '1'; dec -= v; } else std::cout  '0'; v /= 2; } }

Системы счисления. Перевод чисел и операции (Си)

Перевод чисел из одной системы счисления в другую на С++

1.1 Перевод целых чисел. Основание меньше 10

#include #include #include #include // добавить функцию read_int_beween struct NumberInSystem < int* digits; int n; int sign; int base; >; void create_number_in_system(struct NumberInSystem* number, int base, int n, int sign) < number->n = n; number->sign = sign; number->base = base; number->digits = malloc(sizeof(int) * n); memset(number->digits, 0, sizeof(int) * n); > int read_base() < int base; while (1) < printf("base: "); scanf("%d", &base); if (base >1 && base <=10) break; printf("base must be in [2, 10]. repeat please\n"); >return base; > void read_number_in_system(struct NumberInSystem* number) < number->base = read_base(); while (1) < printf("number length: "); scanf("%d", &(number->n)); if ((number->n) > 0) break; printf(«length must be more than 0\n»); > number->digits = malloc(sizeof(int) * number->n); (number->digits)[0] = read_int_beween(1, number->base-1); for (int i = 1; i < number->n; ++i) < (number->digits)[i] = read_int_beween(0, number->base-1); > number->sign = 0; > void print_number(struct NumberInSystem number) < if (number.sign == 1) < printf("-"); >for (int i = 0; i < number.n; ++i) < printf("%d", number.digits[i]); >printf(«\n»); > int NumberInSystem_to_int(struct NumberInSystem number) < int value = 0; int power = 1; for (int i = number.n-1; i >= 0; —i) < value += number.digits[i]*power; power = power*number.base; >if (number.sign == 1) value = value * (-1); return value; > struct NumberInSystem int_to_NumberInSystem(int value, int base) < int* buffer = malloc(sizeof(int) * 255); int sign = 0; if (value < 0) < sign = 1; value = value * (-1); >int length = 0; while (value > 0) < buffer[length] = value%base; value = value/base; length++; >struct NumberInSystem number; create_number_in_system(&number, base, length, sign); for (int i = 0; i < length; ++i) < number.digits[i] = buffer[length-i-1]; >free(buffer); return number; > void remove_number(struct NumberInSystem* number) < free(number->digits); > int main()

2 Операции над числами в системах счисления на С++

2.1 Операции с целыми числами

Формулировка задачи:

Своими цифрами в массивах K(m) и L(m) заданы два целых числа в p-ичной системе счисления ( p

Решение: Тут алгоритм точно тот же что для десятичных чисел — в столбик. Отличия следующие:
1) функция проверяет что числа записаны в одинаковой системе счисления;
2) после вычисления суммы разрядов — сумма сравнивается не с 10, а с основанием системы счисления. Вычитается из суммы не 10, а другое основание. Исходный код функции:

void sum(struct NumberInSystem a, struct NumberInSystem b, struct NumberInSystem* result) < if (a.base != b.base) < printf("can't sum numbers in various systems\n"); return; >if (a.n > b.n) < result->n = a.n+1; > else < result->n = b.n+1; > result->digits = malloc(sizeof(int) * (result->n)); int i = a.n-1, j = b.n-1, k = result->n-1; int carry = 0; while (1) < if (i < 0 && j < 0) break; int a_digit = a.digits[i], b_digit = b.digits[j]; if (i < 0) < a_digit = 0; >if (j < 0) < b_digit = 0; >int digit = a_digit + b_digit + carry; if (digit > (a.base-1)) < digit -= a.base; carry = 1; >else < carry = 0; >result->digits[k] = digit; i = i - 1; j = j - 1; k = k - 1; > >

Пример вычисления суммы:

Просмотр 0 веток ответов

Как переводить в систему си

СИ — международная система измерения физических величин. Основные величины: килограмм, метр, секунда, моль, Кельвин, кандела. Остальные — происходят из этих величин. Допустим, единица силы Ньютон — это килограмм умноженный на метр и деленный на секунду в квадрате. Для правильных расчетов нужно все единицы привести к системе СИ, допустим, километр в час это 1000 метров за 3600 секунд или 0,28 м/с, 0 градусов по Цельсию — 273 К (Кельвина), а 760 мм ртутного столба равно приблизительно 100000 Паскалей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *