c ÓïÑÔÀ︡µãÏà³Ë ΪʲôСÊýȫΪ0ÁË - C/C++ / CÓïÑÔ
ÈçÌâ:c ÓïÑÔÀ︡µãÏà³Ë ΪʲôСÊýȫΪ0ÁË
float x=8266.206055;
float y=7226.922363;
float z;
z=x*y;
z=59739228.000000;
ΪʲôµÃµ½µÄZ СÊýµãºóÃæÈ«Îª0ÁË
ºÇºÇ£¬³¬³ö¸¡µãÄܱíʾ·¶Î§ÁË¡£
Âé·³ÓÐÈËÖªµÀµÄ¸æËßÏ ÊÇʲôÔÒòÒýÆð£¬Ó¦¸ÃÔõô½â¾ö
float -> doubleÄØ?
¸ÄΪdouble ûʲô±ä»¯µÄ
ºÇºÇ£¬Â¥Ö÷¿ÉÒÔÌí¼ÓÏÂÃæ´úÂë²é¿´½á¹û£º
C/C++ code:
printf("%.8X\r\n", *(int*)&z);
ÆäʵÖ÷Òª»¹ÊÇÊä³ö¸ñʽÎÊÌâ¡£ÕâÀïÓ¦¸ÃÒÔÖ¸ÊýÐÎʽÊä³ö¡£
ÓÉÓÚ¶ÔÓÚµ¥¾«¶È¸¡µãÊý¶øÑÔ£¬ÆäËùÄܱíʾµÄ¾«¶ÈÒѾµ½¶¥ÁË£¬ËùÒÔÕâÀï¿ÉÒÔÓÃdouble£¬Ë«¾«¶È¸¡µãÀ´±íʾ¾«¶È¸ü¸ßµÄÊý¡£
³¬³öÁËfloatÄܱíʾµÄ¾«¶È·¶Î§ÁË£¬¾ÍÊÇdoubleÒ²Ò»Ñù³¬³ö¾«¶È·¶Î§£¬·½·¨£ºÏֳɵÄûÓУ¬Äã¿ÉÒÔ×Ô¼ºÐ´¸ö¸ü´ó½øÎ»ÖƵıíʾÊý×ֵĽøÎ»ÖÆ£¬±È·½Ëµ10^9½øÎ»ÖÆ£¬ÎÒͬѧд¹ýÒ»¸ö£¬¿ÉÒÔ´æÎÞÏÞ룬ºóÕßÖ±½Óϸö´óÊý¼ÆËãÆ÷£¬ËãһϺÃÁË
C/C++ code:
#include <stdio.h>
int main(void)
{
double x=8266.206055;
double y=7226.922363;
double z;
z = x * y;
printf("%.15g\r\n", z);
}
C ±ê×¼ÒªÇó float ÀàÐÍÖÁÉÙÒªÄܾ«È·±íʾµ½Ð¡Êýµãºó6λ¡£float Ò»°ãÊÇ 32 λµÄ¡£
C ±ê×¼¹æ¶¨
Ïà¹ØÎÊ´ð£º
´ó¼ÒºÃ£º
ÎÒÏëʵÏÖ¼ì²âµ½²åÈëSD¿¨ºó×Ô¶¯½«SD¿¨¸ñʽ»¯µÄ¹¦ÄÜ£¬²»ÖªC/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý£¿
ÁíÍ⣬ÎÒ²»ÏëʹÓÃSHFormatDrive£¬ÒòΪÕâ¸öº¯Êý»áµ¯³öÊÇ·ñÒª¸ñʽ»¯µÄÌáʾ¿ò£¬ÎÒÐèÒªµÄÊÇϵͳ×Ô¶¯¸ñʽ»¯£¬¶ø²Ù×÷Õß² ......
ËÄܰïÎÒ°ÑÏÂÃæÕâЩ´úÂë¸Ä³ÉVBÐÎʽµÄ£¬¶àлÁË£¬¼±ÓÃ~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[],float g ......
¹«Ë¾¿ª·¢Ò»¸ö´¥ÃþÆÁ³ÌÐò£¬ÎÒ¸ºÔðµÄÒ»¿é£¬ÊµÏÖÕâÑùÒ»¸ö¹¦ÄÜ£¬µ±Êó±êµã»÷´°¿ÚÖÐͼƬ£¨Ò»ÕÅͼ·Ö³É¼¸²¿·Ö£©µÄÆäÖÐÒ»²¿·Öʱ£¬½«Õⲿ·ÖͼƬ½ØÈ¡³öÀ´£¬µ¯³öеĴ°¿Ú£¬½«½ØÈ¡³öµÄͼƬÏÔʾ³öÀ´¡£ÎÒʹÓÃRectangeÀà¿ØÖÆÁË·µ»Ø£¬ ......
ÔھƵê¹ÜÀíϵͳÖÐ,ÓÐÒ»¸ö¶ÔÄÚµÄϵͳ,¹©Ç°Ì¨·þÎñÔ±ºÍ¾ÀíʹÓÃ
»¹ÓÐÒ»¸ö¾ÍÊǶÔÍâ,Èÿͻ§¿ÉÒÔÔÚÍøÉÏÔ¤¶©·¿¼ä,
ËüÃÇÖ®¼äÊÇÔõôͨѶµÄ.?µ±ÎÒÌá½»Ô¤¶©·¿¼äÐÅÏ¢µÄʱºò,
ÔÚ¶ÔÄÚµÄϵͳÖÐ,ÈçºÎÖªµÀÎÒÒѾÌá½»ÁËÐÅÏ¢¹ýÈ¥.Ê¹Ç ......
Ï£Íû¸ø´ó¼ÒÌṩһЩеÄ˼·.
ÎÒÃÇÔÚʹÓÃC±à³Ìʱ»áÓöµ½Ò»¸öÎÊÌ⣬±ÈÈçÍ·ÎļþµÄÒ»¸öº¯Êý°üº¬ÔÚÒ»¸ölib ÖУ¬µ«ÊÇ
ÔÚʵ¼ÊÁ¬½ÓÖÐÎÒÃDz»ÖªµÀËüÔÚÄĸö¿âÖС£Ò²Ðí¿ÉÐеÄÒ»ÖÖ°ì·¨ÊÇÖ±½ÓÉÏÍø²éѯij¸ö
º¯ÊýµÄÒÀÀµÌõ¼þ£¬Õâ¶Ô ......