[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/05 09:03 / Filesize : 337 KB / Number-of Response : 864
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 117代目



114 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 12:40:22 ]
>>112
#include <stdio.h>
#include <limits.h>
int is_little_endian(){
  int x = 1;
  return *(char*)&x;
}
typedef unsigned char byte_t;
void print_bytebits_(byte_t value){
  byte_t mask = 1 << (sizeof(byte_t) * CHAR_BIT - 1);
  for(;mask; mask >>=1) putchar(mask & value ? '1' : '0');
}
void print_bits(void *p, int bytesize){
  byte_t *p_byte = (byte_t*)p;
  int i;
  if(is_little_endian()){
    for(i=bytesize-1; i>=0; i--) print_bytebits_(p_byte[i]);
  }else{
    for(i=0; i<bytesize; i++) print_bytebits_(p_byte[i]);
  }
}
int main(){
  double values[] = {1.0, 0.1, 0.0/0.0, -1.0/0.0, 1.0/0.0, -3.14};
  int i;
  for(i=0; i<sizeof(values)/sizeof(*values); i++){
    print_bits(&values[i], sizeof(double));
    printf("(%.02f)\n", values[i]);
  }
  return 0;
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<337KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef