ทั้งหมดนี้เสร็จสิ้นในเวลารวบรวม รหัสต่อไปนี้...
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
float foo = 3.40282347E+38;
float bar = 3.40282347e38;
printf("foo=%g\nbar=%g\n", foo, bar);
return 0;
}
สร้างสิ่งนี้ในแอสเซมเบลอร์ ในการรับแอสเซมเบลอร์ให้ใช้แฟล็ก -S
เพื่อ gcc เช่น
gcc -S -Wall -O3 -pedantic -std=c11 scientific_notation.c
นี่คือการใช้เสียงดังกราว ฉันจะตัดการประกอบเล็กน้อย ...
.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 11
.section __TEXT,__literal8,8byte_literals
.align 3
LCPI0_0:
.quad 5183643170566569984 ## double 3.4028234663852886E+38
.section __TEXT,__text,regular,pure_instructions
.globl _main
.align 4, 0x90
...ตัดภาพ
สังเกตบรรทัดนี้ .quad 5183643170566569984
มันเป็นค่าคงที่ โปรดทราบด้วยว่าแม้ว่าฉันจะมีค่าคงที่สองตัวในโค้ดของฉันก็ต้องใช้เพียงค่าเดียวเท่านั้นโดยคอมไพเลอร์
person
Harry
schedule
12.04.2016
FLT_MAX
แทนค่าคงที่แบบฮาร์ดโค้ด - person Paul R   schedule 12.04.2016float.h
... กฎแปลก ๆ สำหรับการบ้านเหล่านี้ทำให้ฉันตั้งคำถามถึงการศึกษาที่เกิดขึ้นในบางครั้ง... ฉันเข้าใจได้ว่าการบอกคนอื่นว่าอย่ารวม<unordered_map>
ถ้าการบ้านคือการใช้ตารางแฮช แต่นี่เป็นเรื่องไร้สาระ - person Dietrich Epp   schedule 12.04.2016