Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double my_sinh(double x){ double ret; if(x >= 0.0) { ret = exp(x); return (ret - 1.0/ret) / 2.0; } else { ret = exp(-x); return (1.0/ret - ret) / 2.0; }}//計算x的雙曲正弦值。int main()
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double atan2 (double x, double y){ register double ret; __asm__( "fpatan/n/t" "fld %%st(0)" : "=t" (ret) : "0" (y), "u" (x) ); return ret;}//求x / y的反正切值。 double my_asin(double x){
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double my_tanh(double x){ double ret,temp; if (x > 50) return 1; else if (x < -50) return -1; else { ret = exp(x); temp = 1.0 / ret; return ( (ret - temp) / (ret + temp));
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double atan2 (double x, double y){ register double ret; __asm__( "fpatan/n/t" "fld %%st(0)" : "=t" (ret) : "0" (y), "u" (x) ); return ret;}//求x / y的反正切值。double my_acos(double x){
Time of Update: 2018-12-05
C/C++與Java的之間的差異Difference between Java and C/C++原文參見:http://docs.rinet.ru/Jintra/appe.htmi.a_7
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* 把浮點數x分解成尾數和指數。x=m*2^exptr,m為規格化小數。 返回尾數m,並將指數存入exptr中。*/double my_frexp01(double x, int *exptr){ union { double d; unsigned char c[8]; } u; u.d = x; //得到移碼,並減去1022得到指數值。 *exptr =
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* 裝載浮點數,v是尾數,e為指數。 如:x=ldexp(1.0,6);則表示要轉載的浮點數是1.0*2^6*/double my_ldexp01(double v, int e){ double two = 2.0; if (e < 0) { e = -e; /*這句話和後面的if語句是用來對兩位溢出碼的機器*/ if (e < 0) return 0.0;
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double my_atan(double x){ register double ret; __asm__( "fld1/n/t" "fpatan" : "=t" (ret) : "0" (x) ); return ret;}//求x的反正切值。int main(){ double a = 0.5; printf("atan(%f) = %f/
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* 計算x/y的餘數。返回x-n*y,符號同y。 n=[x/y](向離開零的方向取整)*/double my_fmod01(double x, double y){ register double ret; __asm__( "1: fprem/n/t" "fstsw %%ax/n/t" "sahf/n/t" "jp 1b" :
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】double my_cosh(double x){ double ret; ret = exp(fabs(x)); return (ret + 1.0/ret) / 2.0;}//計算x的雙曲餘弦值。int main(){ double a = 0.5; printf("cosh(%f) = %f/n",a,cosh(a)); printf("my_cosh(%f) =
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* memcpy() copies a source memory buffer to a destination memory buffer.This routine does NOT recognize overlapping buffers, and thus can leadto propogation.For cases where propagation must be avoided,
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* Copies count characters from the source string to the destination. If count is less than the length of source,NO NULL CHARACTER is put onto the end of the copied string.If count is greater than the
Time of Update: 2018-12-05
【我解C語言面試題系列】012 尋找整數數組中第二大的數尋找整數數組中第二大的數 題目:寫一個函數找出一個整數數組中,第二大的數。【Mirosoft】PS:1、” 66,66,66,66,66 ”,則沒有第二大數。2、” 99,99,88,86,68,66 ”,則最大數是88。下面我先給出尋找最大數位程式:int GetFirstMaxNumber(int buffer[]){ int i,max; max = buffer[0]; for(i=1;i<ARRSIZE;
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* memmove() copies a source memory buffer to a destination memory buffer.This routine recognize overlapping buffers to avoid propogation.For cases where propagation is not a problem, memcpy() can be used.
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* 這兩個函數也是C庫中產生隨機數的程式。你需要先 使用srandom()函數賦隨機數種子值。然後再使用 random()函數來產生隨機數。是對srand()和rand() 這兩個函數的改良,用法也很類似。現在的這個代碼 僅僅是實現了隨機數函數srand()和rand()的功能。 在GCC庫函數中要比現在的代碼完全的多,另外可以 指定其他的狀態值,使得隨機更完全。*/ #define
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】#include <stdlib.h>/* Copies bytes from src to dest until count bytes have been copied,or up to and including the character c, whichever comes first.
Time of Update: 2018-12-05
【我解C語言面試題系列】001 static有什麼用途?【題目】static有什麼用途? 在網上流傳很廣的一個答案是:1、限制變數的範圍2、設定變數的儲存域 我覺得這樣答題是不妥當的,有點文不對題的感覺。 下面是我給出的答案:static 型別宣告符在C語言裡面主要有三個用途:1、聲明靜態局部變數。2、聲明靜態外部全域變數。3、聲明靜態外部函數。 下面是我整理的有關上面三個用法的解釋說明。另外網友xiaocai0001的《static用法小結》一文有更詳細的解釋,請參考。
Time of Update: 2018-12-05
問題:正在自學C++ 看譯本大家都說好的《Accelerated C++》可是苦於沒有答案 看到第3章 有這樣一個習題 希望大家告訴我答案!~~如果能給我傳份答案 我見感激不盡!~~: 34 假設我們希望找出一個數值集合的中值:同時假定到目前為止,我們已經讀進一些數值了,而且不清楚還要再讀進多少個值。證明:我們不能丟掉已經讀到的任何值,提示:一個可行的證明策略是,先假定我們可以丟掉一個值.然後找出我們的集合中末讀的(也就是未知的)那部分數值,要求這些數值將會使中值恰好就是我們丟掉的那個值-==
Time of Update: 2018-12-05
【C語言庫函數原始碼】【本程式在Dev C++ 4.9.9.2 下編譯通過】/* 這兩個函數是C庫中產生隨機數的程式。你需要先 使用srand()函數賦隨機數種子值。然後再使用 rand()函數來產生隨機數。但是產生隨機數的演算法 較簡單,srandom()和random()函數是對這兩個函數 的改良,用法也很類似。*/#define RANDOM_MAX 0x7FFFFFFF static long my_do_rand(unsigned long *value){ /
Time of Update: 2018-12-05
一門語言,是一種文化;電腦語言也是如此。C++中的各種特性,沉澱著C++使用者的喜好、經驗和教訓等等等等,是在比較長的時間裡(相對一些新興語言)逐漸發展起來的。而軟體工程,也正是從軟體項目開發過程中的經驗教訓中總結出來的。因此,如果兩者有什麼關係,我不會感到吃驚。更有甚者,這些作為軟體工程原料的項目,絕大部分是用C或C++開發的。因此,它們之間是可以建立緊密關係的,它們的來源相近,或相同。不應該把軟體工程看得太高(軟體工程是XXX的理論,能夠XXX,不需要XXX?),也不應該把一門語言看的太低