原创 超長整數的基礎運算 算法實現之加、減篇

上篇介紹了基礎的表示結構以及函數介紹,本篇將開始介紹加減實現的過程。 由於整數有正負之分,所以兩個整數相加有四種情況:a+b,a+(-b),(-a)+b和-a+(-b)。 對於a+b和-a+(-b),可以通過對數組對應位元素相加即可,主要

原创 登錄 之 通訊機制(socket)續 --- 代碼優化

因爲代碼的重用性,所以採用單實例的模式: 抽象接口(父類)ActionInterface: package com.net.action; import java.awt.event.ActionEvent; import java.a

原创 Ubuntu環境下Eclipse 無法輸入中文臨時解決辦法

環境: Ubuntu 13.10 + Eclipse CDT 3.8 + IBus 現象: 在Eclipse中切換成中文輸入法後無法在編輯區域內輸入中文,只能輸入英文 解決: 在編輯區域右擊 Input Method 選擇 X Inpu

原创 超長整數的基礎運算 算法實現之乘、除篇

筆算乘法: 對於m位和n位的輸入,傳統的乘法需要m*n次基本的乘法,也即算法複雜度爲O()。我們用紙和筆做乘法運算時,用乘數的每一位乘以被乘數的每一位並加上上一列的進位而產生一行適當移位的中間結果,然後再將各行中間結果相加即得到乘法的最終

原创 超長整數的基礎運算 算法實現之模、模冪篇

模運算 整數取模實際是基於除法運算的結果,即求餘數的過程,把商排除在外後得到的結果。根據已經得到的除法運算結果進行篩選結果即可。 /* 模數運算 a 被模數 b 模數 c 模值 */ int modHBInt(HBigInt *a, HB

原创 QQ的Linux之傷

最近發現使用pidgin登錄QQ總是失敗,google了一下發現有同道之人,追其原因有道友說QQ公司對Linux上的QQ進行屏蔽,導致登錄異常。以此爲契機,本人決定自己寫一個類QQ的網絡聊天工具,一則是閒來無事,二來是學習GTK+2.0的

原创 Linux QQ之客戶端

客戶端之登錄UI //client.c 客戶端主函數 #include "const_global.h" #include <signal.h> #include "gui.h" void mem_error(){ format_r

原创 平方乘算法實現

#include <stdio.h> #include <stdlib.h> #include <malloc.h> #define DECDATATYPE long #define BINDATATYPE char typedef

原创 超長整數的基礎運算 問題提出篇

應導師要求,需要實現一個關於超長整數運算的演示。 需求提出: 1、理論上要能實現任意長度大小表示 2、完成四則運算、模、冪、進制轉換功能 3、算法具有可擴展性 需求分解: 就完成本身演示的目的,其實使用已有的高級語言(java、C#等

原创 Linux QQ之客戶端(續)

首先給各位看官和自己道歉,私事耽誤了代碼的提交。那麼接着往下貼出來。 上一篇寫到全局頭文件(const_global.h)和客戶端前臺(gui.h/c),那麼本次接着貼出socket和DB部分 // socket.h #ifndef SO

原创 整除一個整數的方法

出處:http://blog.csdn.net/sky_fighting/article/details/8266915 判斷一個數的整除性對於某些除數來說是一件非常容易的事,比如2、3、4、5、6、8、9、10、11、12、15……  

原创 整數除法還有這麼一手,學習!

引用:http://www.xuebuyuan.com/521526.html 要求:如何用移位和加減實現除以3的操作,在此略微擴充一下,實現無符號整數除法,但是返回值也爲無符號整型。 利用魔數。代碼如下。 #include <ios

原创 超長整數的基礎運算 之小結

首先將之前使用的內部函數一一說明實現 輸入、輸出: /* 大整數擴大radix倍 大整數的每一位都要乘以radix */ int hbi_mul_radix(HBigInt *a, int radix){ <span style="wh

原创 超長整數的基礎運算 算法實現之進制轉換篇

十進制轉二進制 由於單個“位”採用的是216-1作爲理論最大值,因此在本次大整數的表示過程中每個類似“十進制”位可採用16位的二進制來表示,符號位單獨表示。        “十”進制轉換成二進制,實際上是經過中間狀態(即大整數的邏輯存儲

原创 windows 配置VC++6.0下支持pthreads(posix)多線程編程過程

1、下載PTHREAD的WINDOWS開發包pthreads-w32-2-8-0-release.exe(其實任何一個版本均可) 2、該文件其實是一個壓縮包:      選擇(Browse)相應目錄點擊Extract用於解壓後的文件存放