- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
#include <stdio.h>
int main () {
char c;
int result=0;
while(scanf("%c",&c) ) {
if( (c<'0') || (c > '1') ) break;
result«=1;
result+=c-'0';
};
printf("%d",result);
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
#include <stdio.h>
int main () {
char c;
int result=0;
while(scanf("%c",&c) ) {
if( (c<'0') || (c > '1') ) break;
result«=1;
result+=c-'0';
};
printf("%d",result);
return 0;
}
Этот код переводит число из двоичной системы в десятичную. Зачем-то основано на работе с символами.
lorc 29.01.2015 20:39 # +5
Ути-пути.
1024-- 29.01.2015 20:55 # 0
lorc 29.01.2015 21:01 # 0
Оказывается, там уже есть Language tags. Осталось добавить поддержку языков программирования.
1024-- 29.01.2015 21:06 # 0
pl7ofit 29.01.2015 22:38 # 0
alexmir 29.01.2015 22:45 # 0
kegdan 29.01.2015 23:18 # 0
1024-- 29.01.2015 22:46 # 0
P.S. Это в том случае, если б оно компилировалось.
3.14159265 29.01.2015 22:50 # 0
>"Сдвинуть все биты числа на одну позицию влево"
Не обманывайте.
"резалт открывающая кавычка равно один"
1024-- 29.01.2015 22:53 # 0
kegdan 29.01.2015 23:18 # 0
guest 30.01.2015 18:17 # 0
1024-- 30.01.2015 18:25 # 0
guest 03.02.2015 10:39 # 0
1024-- 03.02.2015 11:52 # 0
result <<= 1 сдвигает result на один бит влево. Битовое представление аналогично представлению в двоичной системе, поэтому result = result << 1 аналогично умножению на "10" в двоичной системе, т.е. result <<= 1 аналогично result *= 2.
Всё это аналогично result = result * 2 + (c-'0'); - "дописываем" новую цифру в конец числа. Или же, если использовать сдвиги и побитовое или: result = result << 1 | c - '0'; Из-за того, что в (result << 1) младший бит нулевой (сдвинули содержимое влево - самый правый бит "пустой"), а (c - '0') может быть строго либо 0, либо 1, можно "+" заменить на "|".
kegdan 03.02.2015 11:54 # +1
1024-- 03.02.2015 11:55 # 0
kegdan 03.02.2015 11:57 # +1
guest 03.02.2015 13:23 # 0
kegdan 03.02.2015 13:47 # 0
Vasiliy 03.02.2015 15:28 # 0
bormand 30.01.2015 06:17 # 0
TarasB 03.02.2015 11:58 # 0
1024-- 03.02.2015 12:03 # 0
pl7ofit 29.01.2015 22:34 # 0
kegdan 29.01.2015 23:21 # 0
guest 30.01.2015 00:38 # +2
kegdan 30.01.2015 00:39 # 0
guest 30.01.2015 20:49 # +2
1024-- 30.01.2015 21:01 # +1
http://www.youtube.com/watch?v=Jj3AemEc5b8
3.14159265 30.01.2015 21:03 # 0
1024-- 30.01.2015 21:10 # 0
3.14159265 30.01.2015 21:24 # 0
На что получили ответ:
kegdan 30.01.2015 21:31 # 0
pl7ofit 29.01.2015 22:36 # 0
guest 30.01.2015 14:31 # 0
http://ideone.com/tqpcIj
Такие дела
Abbath 30.01.2015 16:50 # 0
http://ideone.com/9INCJF
guest 30.01.2015 16:57 # 0