2016-04-26 2 views
-2

Здравствуйте мои товарищи программисты,C-Programmin Клев конвертер

Я новичок в программировании C, и я действительно бороться некоторый тип, чтобы попытаться создать ПОЛУБАЙТОМ конвертер.

Поэтому в основном я хочу программировать программу, которая преобразует десятичное число (0-9) в ПОЛУБАЙТОМ выход должен быть напечатан в грызть = 0101.

Я не хочу использовать if заявления.

Я хочу попытаться использовать операторы / и %.

Может ли кто-нибудь дать мне пример того, как это можно сделать или какие-либо советы, как это можно было бы сделать?

+0

разместить свой код здесь, пожалуйста. См. [Mcve] – sjsam

+0

Используйте справочную таблицу? –

ответ

1

Если я правильно понимаю, что «клев» означает «4-разрядное двоичное»:

Думай как преобразовать десятичное в двоичное - вы разделите число на 2, запишите остаток в качестве последней цифры. Затем вы разделите коэффициент на 2, запишите оставшуюся часть как вторую и последнюю цифру и т. Д.

Таким образом, простой способ его код:

printf("%i%i%i%i\n", (i/8)%2, (i/4)%2, (i/2)%2, i%2); 
-1

Почему вы не хотите знать это?

#include <stdio.h> 
int main() 
{ 
    int c,i,m; 
    for (;;) { 
     c = getchar(); 
     for (i=3;;i--) { 
      m = 1 << i; 
      m &= c; 
      m >>= i; 
      m += '0'; 
      putchar(m); 
      if (i==0) break; 
     } 
     puts("\r\n"); 
    } 
    return 0; 
} 

code test

+0

OP говорит: «Я не хочу использовать операторы if, я хочу попробовать использовать/и% операторов» * –

+0

о, действительно, я надеюсь, оператор >> придет как \ – imbearr

0

Таблица просмотровых легко.
Как это:

const char *table[] = { 
    "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", 
    "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" 
}; 
int n; 
scanf("%d", &n); 
puts(table[n % 10]); 
+0

Вы должны объяснить этот код, а не привести пример который вы знаете, OP просто скопирует и вставляет. – SevenBits

+0

Концепция очень проста. Я не думаю, что есть трудная часть, которая требует описания. – BLUEPIXY

+0

OP сказал, что он новичок в C, поэтому он может не понимать цели таблицы поиска. – SevenBits

Смежные вопросы