我是C ++的新手,我需要制作一个可以将十进制数转换为二进制数的程序。这是我到目前为止所得到的,但它只显示0000 0000 0000 0000(空间是预定的)
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <math.h>
float EntierAConvertir;
int main()
{
printf("Entrez l'entier à convertir\n");
scanf("%lf", &EntierAConvertir);
for(long double i = 16; i != 0; i-- )
{
if (EntierAConvertir > (pow(2,i-1)))
{
printf("1");
}
else if (EntierAConvertir < (pow(2,i-1)))
{
printf("0");
}
if (i == 13 | i==9 | i == 5)
{
printf(" ");
}
}
system("pause");
return 0;
}
非常感谢帮助! :)
答案 0 :(得分:1)
在C ++中,你可以用更少的代码正确地完成它。标准库已经提供了您需要的功能。所以没有必要自己手动尝试:
import re
from datetime import datetime
import pytz
d = {}
converted_times = []
local = pytz.timezone("Etc/GMT+4")
dtlist = (["txup", "\s?tx\scycle.{0,4}\s?up:\s?(\d{1,2}:\d{2}:\d{2})"],
["txdown", "\s?tx\scycle.{0,4}\s?down:\s?(\d{1,2}:\d{2}:\d{2})"])
entries = ['tx cycle.. up:01:22:53 tx cycle.. down:21:03:11',
'tx cycle.. up:12:43:31 tx cycle.. down:19:13:00']
for entry in entries:
for i in range(len(dtlist)):
local_time = datetime.strptime(re.search(dtlist[i][1], entry).group(1),
'%H:%M:%S') #first problem arises here
localized_time = local.localize(local_time)
utc_time = localized_time.astimezone(pytz.utc)
converted_times.append(utc_time)
uttime = map(str, converted_times)
d['uttime'] = uttime
请参阅demo。