當前位置:首頁 » 操作系統 » T30源碼

T30源碼

發布時間: 2022-05-07 08:45:08

『壹』 T30計劃到底是小碼哥教育的還是源碼時代的

T30計劃是他們共同制定的,結合源碼時代的優勢與小碼哥的優勢,同心協力、通力合作,強強聯手, 精心鍛造「T30」時效培訓計劃,,實現「雙碼合璧」,充分發揮雙方的整體戰鬥力。

『貳』 點在圖片上 顯示日歷框 可以選擇日歷上的日期 來查詢對應時間資料庫的信息 這個JSP代碼怎麼寫

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" import="java.util.*" %>

<%
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>

<html>

<head>
<title>選擇日期</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<META name="GENERATOR" content="IBM WebSphere Studio">
<style>
SELECT {FONT-SIZE: 9pt; LINE-HEIGHT: 11pt}
TEXTAREA {FONT-SIZE: 9pt; LINE-HEIGHT: 11pt}
INPUT {FONT-SIZE: 9pt; LINE-HEIGHT: 11pt}
TD {FONT-SIZE: 9pt; LINE-HEIGHT: 11pt}
.p { font-size: 12px; line-height: 18px}
.pp { font-size: 14px; line-height: 18px}
.cals{font-family: "Arial"color:#000000; font-size:10pt}
</style>
<%@page import = "java.util.StringTokenizer"%>
<%
String type = request.getParameter("type");
if (type==null) type="1";

Calendar cal = Calendar.getInstance();
String cur_date = cal.get(Calendar.YEAR) + "年" + (cal.get(Calendar.MONTH)+1)
+ "月" + cal.get(Calendar.DAY_OF_MONTH)+"日";

int cur_year = cal.get(Calendar.YEAR);
int cur_month = (cal.get(Calendar.MONTH)+1);
int cur_day = cal.get(Calendar.DAY_OF_MONTH);
String cur_date_string = String.valueOf(cur_year) + "-"
+ (cur_month<10?("0"+String.valueOf(cur_month)):String.valueOf(cur_month)) + "-"
+ (cur_day<10?("0"+String.valueOf(cur_day)):String.valueOf(cur_day));

String parmInitDate = request.getParameter("initdate");
int parm_year=0;
int parm_month=0;
int parm_day=0;

if(parmInitDate!=null){
StringTokenizer mytoken = null;
try{
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = null;
date = formatter.parse(parmInitDate);
//java.util.Calendar cal = new java.util.Calendar()
cal.setTime(date);
parm_year = cal.get(Calendar.YEAR);
parm_month = cal.get(Calendar.MONTH) + 1;
parm_day = cal.get(Calendar.DAY_OF_MONTH );
}catch(Exception e){
//out.print(e);
}
}
parm_year= parm_year==0?cur_year:parm_year;
parm_month= parm_month==0?cur_month:parm_month;
parm_day= parm_day==0?cur_day:parm_day;
%>

<script LANGUAGE="vbscript">
<!--
dim cal(6,7)
dim sToday
dim sCurDate
dim sSeldate
dim selx,sely

sCurdate="<%=cur_date_string%>"
sSeldate="<%=parm_year+"-"+parm_month+"-"+parm_day%>"
sub getDate()
if window.event.srcElement.innerText = "" or window.event.srcElement.innerText = " " then exit sub

for i = 1 to 6
for j = 1 to 7
if cal(i,j).bgcolor="#0000ff" then
cal(i,j).bgcolor=""
cal(i,j).style.color="black"
end if
next
next
if window.event.srcElement.bgcolor<>"#ffff00" then
window.event.srcElement.bgcolor="blue"
window.event.srcElement.style.color="white"
end if

aa = window.year.value & "-" & right(window.month.value+100,2) & "-" & right(window.event.srcelement.innertext+100,2)

window.sel_date.innerText=aa
end sub

sub getTime()
aa=""
if window.hour.value<>"00" or window.minute.value<>"00" or window.second.value<>"00" then
aa=window.hour.value & ":" & window.minute.value & ":" & window.second.value
end if
if window.sel_date.innerText = "" then
window.sel_date.innerText = sCurDate
end if
window.sel_time.innerText=aa
end sub

sub ret ()
if window.sel_date.innerText <> "" then
window.returnValue = window.sel_date.innerText
if window.sel_time.innerText="" then
window.sel_time.innerText=window.hour.value & ":" & window.minute.value & ":" & window.second.value
end if
if window.sel_time.innerText <>"" then
window.returnValue = window.sel_date.innerText & " " & window.sel_time.innerText
end if
end if

window.event.returnValue = false
set cal(6,7) = nothing
window.close()
end sub

sub cancel ()
window.returnValue = ""
window.event.returnValue = false
set cal(6,7) = nothing
window.close()
end sub

sub draw
dim yy,mm,dd,thisday,lastmm,maxday
dim nextmm

yy = window.year.value
mm = window.month.value
dd = datepart("d",sSeldate)
thisday = dateserial (yy,mm,1)
set cal(1,1) = t10:set cal(1,2) = t11:set cal(1,3) = t12:set cal(1,4) = t13:set cal(1,5) = t14:set cal(1,6) = t15:set cal(1,7) = t16
set cal(2,1) = t20:set cal(2,2) = t21:set cal(2,3) = t22:set cal(2,4) = t23:set cal(2,5) = t24:set cal(2,6) = t25:set cal(2,7) = t26
set cal(3,1) = t30:set cal(3,2) = t31:set cal(3,3) = t32:set cal(3,4) = t33:set cal(3,5) = t34:set cal(3,6) = t35:set cal(3,7) = t36
set cal(4,1) = t40:set cal(4,2) = t41:set cal(4,3) = t42:set cal(4,4) = t43:set cal(4,5) = t44:set cal(4,6) = t45:set cal(4,7) = t46
set cal(5,1) = t50:set cal(5,2) = t51:set cal(5,3) = t52:set cal(5,4) = t53:set cal(5,5) = t54:set cal(5,6) = t55:set cal(5,7) = t56
set cal(6,1) = t60:set cal(6,2) = t61:set cal(6,3) = t62:set cal(6,4) = t63:set cal(6,5) = t64:set cal(6,6) = t65:set cal(6,7) = t66

for i = 1 to 6
for j = 1 to 7
cal(i,j).innertext = " "
cal(i,j).style.cursor = ""
cal(i,j).bgcolor=""
next
next
// cal(1,cint(datepart("w",thisday))).innertext = 1
// cal(1,cint(datepart("w",thisday))).style.cursor="hand"
//計算選擇預設日期
lastmm = datepart("m",thisday)
nextmm = lastmm + 1
if nextmm= 13 then nextmm = 1
maxday = datepart("d",dateadd("d",-1,dateserial (yy,nextmm,"1") ) )
if dd>maxday then dd = maxday

//預設
i = 1 'the line
do until (datepart("m",thisday) - lastmm <>0)
if datepart ("w",thisday) = 1 then i = i + 1
cal(i,cint(datepart("w",thisday))).innertext = datepart("d",thisday)
if thisday=date then
cal(i,cint(datepart("w",thisday))).bgcolor="#A7A4D9" 'tt1
cal(i,cint(datepart("w",thisday))).style.color="red"
else
cal(i,cint(datepart("w",thisday))).style.color="black"
end if
if(datepart("d",thisday)=dd) then
if thisday<>date then
cal(i,cint(datepart("w",thisday))).bgcolor="blue"
cal(i,cint(datepart("w",thisday))).style.color="white"
end if
dim showday
showday = datepart("yyyy",thisday)& "-"
if(datepart("m",thisday)<10) then
showday = showday & "0"
end if
showday = showday & datepart("m",thisday)& "-"
if(datepart("d",thisday)<10) then
showday = showday & "0"
end if
showday = showday & datepart("d",thisday)
window.sel_date.innerText= showday
end if

cal(i,cint(datepart("w",thisday))).style.cursor="hand"
thisday = thisday + 1
loop

for i = 1 to 6
for j = 1 to 7
cal(i,j).style.fontsize = "9pt" '" normal small-caps 8pt serif"
next
next
end sub

sub up()
for i = 1 to 6
for j = 1 to 7
if cal(i,j).bgcolor="#0000ff" then
cal(i,j).bgcolor=""
cal(i,j).style.color="black"
end if
next
next
if window.month.value = 12 then
if window.year.value < 2100 then window.year.value = window.year.value + 1
window.month.value = 1
else
window.month.value = window.month.value + 1
end if
draw()
end sub

sub down ()
for i = 1 to 6
for j = 1 to 7
if cal(i,j).bgcolor="#0000ff" then
cal(i,j).bgcolor=""
cal(i,j).style.color="black"
end if
next
next
if window.month.value = 1 then
if window.year.value > 1996 then window.year.value = window.year.value - 1
window.month.value = 12
else
window.month.value = window.month.value - 1
end if
draw()

end sub
-->
</script>

<script ID="clientEventHandlersVBS" LANGUAGE="vbscript">
<!--

Sub year_onchange
draw()
End Sub

Sub month_onchange
draw()
End Sub

sub init ()
aa = date()
bb = <%=parm_year%>
if bb >= 1950 and bb <= 2100 then window.year.value = bb
bb = <%=parm_month%>
window.month.value = bb
sToday=<%=parm_day%>
draw ()
end sub
-->
</script>
<script language="javascript" for="t1" event="onkeydown">
//Esc退出
var keyDown = event.keyCode
if(keyDown==27){
window.close()
}
</script>

</head>
<body onload="init" leftmargin="12" topmargin="7" >
<center>
<!--<font class='pp'>今天是<%=cur_date%></font><br> -->
<table border="0" width="200" cellspacing="0" cellpadding="1" bgcolor="snow" id="t1" align="center">
<tr>
<td colspan='7' nowrap >
<select id="year" name="year">
<%for (int i=2000; i<=2020; i++) {%>
<option value=<%=i%>><%=i%></option>
<%}%>
</select>
<select id="month" name="month">
<%for (int i=1; i<=12; i++) {%>
<option value=<%=i%>><%=i%>月</option>
<%}%>
</select>
<img src="../images/arr04.gif" id="up" language="vbscript" style='cursor:hand' onclick="down()" accesskey=1 align="absmiddle">
<img src="../images/arr05.gif" id="down" language="vbscript" style='cursor:hand' onclick="up()" accesskey=2 align="absmiddle">
</td>
</tr>
<tr>
<td colspan='7' height="5" > </td>
</tr>
<tr bgcolor="#7975C6">
<td align='center' class="cals" height="23" align="absmiddle">日</td>
<td align='center' class="cals" align="absmiddle">一</td>
<td align='center' class="cals" align="absmiddle">二</td>
<td align='center' class="cals" align="absmiddle">三</td>
<td align='center' class="cals" align="absmiddle">四</td>
<td align='center' class="cals" align="absmiddle">五</td>
<td align='center' class="cals" align="absmiddle">六</td>
</tr>
<%for (int i=1; i<=6; i++) {%>
<tr bgcolor="#e6e6fa">
<%for (int j=0; j<=6; j++) {%>
<td align='center' id=t<%=i%><%=j%> onclick="getDate()" ondblclick="ret()" class="cals"></td>
<%}%>
</tr>
<%}%>
<%String disp=null;%>
<%if (type.compareTo("2")==0) {%>
<tr>
<td colspan='7' nowrap height="28" align="center" valign="bottom" >
<select id="hour" name="hour" onchange='getTime()'>
<%
for (int i=0; i<=23; i++) {
disp=String.valueOf(i);
if (disp.length()==1) disp = "0"+disp;
%>
<option value=<%=disp%><%if (i==0) out.print(" selected");%>><%=disp%></option>
<%}%>
</select><font class='p'>時</font>
<select id="minute" name="minute" onchange='getTime()'>
<%
for (int i=0; i<=59; i++) {
disp=String.valueOf(i);
if (disp.length()==1) disp = "0"+disp;
%>
<option value=<%=disp%><%if (i==0) out.print(" selected");%>><%=disp%></option>
<%}%>
</select><font class='p'>分</font>
<select id="second" name="second" onchange='getTime()'>
<%
for (int i=0; i<=59; i++) {
disp=String.valueOf(i);
if (disp.length()==1) disp = "0"+disp;
%>
<option value=<%=disp%><%if (i==0) out.print(" selected");%>><%=disp%></option>
<%}%>
</select><font class='p'>秒</font>
</td></tr>
<%}%>
</table>
<table border='0' width='180' style="display:none">
<tr>
<td nowrap>
時間:
<font color='red'>
<span id='sel_date' name='sel_date'></span>
<span id='sel_time' name='sel_time'></span>
</font>
</td>
</tr>
</table>
<table border='0' cellspacing="0" cellpadding="0" >
<tr><td height="4"></td></tr>
<tr><td align="absmiddle"><img src="../images/bt_sure.gif" onclick='ret()'></td></tr>
</table>
</center>
<%
String initH="00";
String initM="00";
String initS="00";
if(type.equals("2")){
if(parmInitDate==null) parmInitDate="";
parmInitDate=parmInitDate.trim();
if(parmInitDate.length()>10){
initH=parmInitDate.substring(11,13);
initM=parmInitDate.substring(14,16);
initS=parmInitDate.substring(17,19);
}else{
//初始化為當前時間
java.text.SimpleDateFormat sdf=null;
String curTime="";
try{
sdf=new java.text.SimpleDateFormat("HH:mm:ss");
curTime=sdf.format(new java.util.Date());
}catch(Exception e){
curTime="00:00:00";
System.out.println("格式為日期出錯");
}
initH=curTime.substring(0,2);
initM=curTime.substring(3,5);
initS=curTime.substring(6,8);
}
}

%>
<script language="javascript">

var itype='<%=type %>';
var hh='<%=initH %>';
var mm='<%=initM %>';
var ss='<%=initS %>';
if(itype=='2'){
//初始化數據
var objh=document.getElementById('hour');
var objm=document.getElementById('minute');
var objs=document.getElementById('second');
objh.value=hh;
objm.value=mm;
objs.value=ss;
}

</script>
</body>
</html>

『叄』 asp中怎樣實現隔5分鍾後才能再次登陸

下面是我的思路:
用戶登錄時檢測用戶是否在線,
如果在線
-說明用戶登錄前曾非正常退出,
-在再次登錄用戶記錄中加入該用戶及登錄的時間,
-將用戶從在線用戶中刪除
否則
-檢測該用戶是否在再次登錄用戶記錄中
-如果是
--此次登錄時間與上次是否超過5分鍾
--如果是
---在再次登錄用戶記錄中加入該用戶
---登錄
--否則
---提示必須超過5分鍾才能再次登錄
-否則
--登錄

『肆』 linux是哪個國家開發的操作系統。

芬蘭赫爾辛基人

類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲於1991年第一次釋出,它主要受到Minix和Unix思想的啟發,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟體、應用程序和網路協議。

它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。Linux有上百種不同的發行版,如基於社區開發的debian、archlinux,和基於商業開發的Red Hat Enterprise Linux、SUSE、oracle linux等。

(4)T30源碼擴展閱讀

林納斯·本納第克特·托瓦茲(Linus Benedict Torvalds,1969年12月28日- ),芬蘭赫爾辛基人,著名的電腦程序員,Linux內核的發明人及該計劃的合作者,畢業於赫爾辛基大學計算機系,1997年至2003年在美國加州矽谷任職於全美達公司;

現受聘於開放源代碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux內核。與妻子托芙(Tove,芬蘭前女子空手道冠軍)育有三個女孩。著有自傳《樂者為王》。

『伍』 您好,實是我想要個聚寶盆與神槍手公式,求解

樓主要的可是下面這兩個公式?兩個都是通達信使用(我也是到網上搜的)

1 通達信聚寶盆選股指標公式源碼如下:

V2G:=(((CLOSE - REF(CLOSE,1)) / REF(CLOSE,1)) * 100);
V3G:=(MA(VOL,2) / MA(VOL,10));
V4G:=(VOL / CAPITAL);
A1G:=((((0.0068 * V2G) - (0.0072 * V3G)) - (0.5676 * V4G)) - 0.0105);
A2G:=((((0.0015 * V2G) - (0.0124 * V3G)) + (1.7461 * V4G)) - 0.0074);
{A3G:=((((0 - (0.0003 * V2G)) + (0.047 * V3G)) - (0.5734 * V4G)) - 0.0549);}
聚寶盆C:((((0 - (12.2401 * A1G)) - (1 * A2G)) + 0.321) < 0)*110,COLORRED,LINETHICK3;

2 神槍手

CSS:=((CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100);
YJDD:=(EMA(CSS,3)-50)*2;
強弱:(YJDD+100)/2,COLORBLUE;
80,COLORRED,POINTDOT,LINETHICK3;
20,COLORRED,POINTDOT,LINETHICK3;
100,COLORBLUE;
T1:=(INDEXC-MA(INDEXC,58))/MA(INDEXC,58)<-0.152;
T2:=(C-EMA(C,58))/EMA(C,58)<-0.19;
買1:=T2 AND T1;T3:=IF(DATE<=1090831,1,0);
T4:=(C-MA(C,2))/MA(C,2)*100*T3;
T5:=INDEXC*T3;
T6:=MA(T5,13)*T3;
T7:=T6>1.050*T5*T3;
T8:=(C-REF(C,26))/REF(C,26)*10*T3;
T9:=T7*T3;
T10:=T8<-2.30 AND T3;
T11:=T4<-2.7 AND T3;
T12:=T9 AND T10 AND T11 AND T3;
T13:=CROSS(0.5,T12)*T3;
T14:=CROSS(T13,0.5)*T3;
T15:=BARSLAST(T14=1)*T3;
T16:=T15<=5 AND C<REF(C,T15) AND T3;
買2:=T13 OR T16;
T17:= (C-MA(C,2))/MA(C,2)*100;
T18:=INDEXC;
T19:=MA(T18,56);
T20:=T18/T19<0.94;
T21:=(C-REF(C,26))/REF(C,26)*10;
T22:=T20;
T23:=T21<-2.55;
T24:=T17<-2.7;
T25:=T22 AND T23 AND T24;
T26:=CROSS(0.5,T25);
T27:=CROSS(T26,0.5);
T28:=BARSLAST(T27=1);
T29:=T28<=5 AND C<1.02*REF(C,T28);
底4:=T26 OR T29;
T30:= (C-MA(C,2))/MA(C,2)*100;
T31:=INDEXC;
T32:=MA(T31,13);
T33:=T32>1.050*T31;
T34:=(C-REF(C,26))/REF(C,26)*10;
T35:=T33;
T36:=T34<-2.69;
T37:=T30<-3.09;
T38:=T35 AND T36 AND T37;
T39:=CROSS(0.5,T38);
T40:=CROSS(T39,0.5);
T41:=BARSLAST(T40=1);
T42:=T41<=5 AND C<REF(C,T41);
買3:=COUNT(T39 OR T42,4)=4;
T43:=EMA(((C*1.1-LLV(LOW,630))/(HHV(HIGH,630)-LLV(LOW,630))-(C*0.9-LLV(LOW,630))/(HHV(HIGH,630)-LLV(LOW,630)))*80,5);
T44:=INDEXC;
T45:=MA(T44,5);
T46:=MA(T44,20);
T47:=MA(T44,30);
T48:=T45>T44*1.03 AND T46>T44*1.13;
T49:=T48;
目標:=COUNT(T43<6 AND T49,3)>=3;
新目標:=買3 OR 目標;
神槍手:IF(((COUNT(買1 AND 底4,6)=6 OR COUNT(買1 AND 買2,4)=4 OR COUNT(買2 AND 底4,5)=5) OR 新目標),90,0),COLORRED,LINETHICK3;
DRAWTEXT(FILTER(神槍手,5),90,'買入區'),COLORRED;

希望能幫到你!

『陸』 想要詳細了解Thinkpad筆記本電腦

ThinkPad 在2005年以前是IBMPC事業部旗下的攜帶型計算機品牌,憑借堅固和可靠的特性在業界享有很高聲譽。在Lenovo收購IBMPC事業部之後,ThinkPad商標為Lenovo所有。ThinkPad自問世以來一直保持著黑色的經典外觀並對技術有著自己獨到的見解,如:TrackPoint(指點桿,俗稱小紅點)、ThinkLight鍵盤燈、全尺寸鍵盤和APS(Active Protection System,主動保護系統)。
「ThinkPad」這個名稱的靈感來自IBM的便箋簿。每一位IBM的雇員或到IBM訓練中心受訓的人,都會拿到一本便箋簿(「便箋簿」英文為「pad」),上面印著企業的座右銘「THINK」。在一次討論攜帶型電腦產產品名稱的會議上,一名與會者隨手將一本這樣的便箋簿甩到半空然後落在了會議桌上,另一名與會者受此啟發提出可以用「ThinkPad」這個名稱。起初IBM高層一度反對使用這個名稱,因為以前IBM一直使用數字為標識產品型號。但是「ThinkPad」這個名稱受到廣大雇員和客戶的極大歡迎和喜愛,最終IBM高層妥協同意使用「ThinkPad」作為產品名稱。
ThinkPad的設計靈感來自傳統的日本飯盒
ThinkPad最初的設計工作是由IBM位於日本的大和設計中心承擔的。ThinkPad純黑色外觀的靈感來自日本傳統的一種漆器飯盒:松花堂便當,它通體黑色且常用來裝午飯。
IBM在1992年開始發布ThinkPad產品,其中就包括ThinkPad 700。最初的ThinkPad並沒有鍵盤,理應屬於平板電腦(tablet computer)的范疇。它裝配有黑白液晶顯示屏(LCD)、替代硬碟驅動器的40 MB快閃記憶體(Flash Memory)、基於Go的PenPoint OS操作系統和IBM研發的筆跡識別系統。IBM隨後又發布了預裝Microsoft Windows 3.1且帶有鍵盤的ThinkPad,售價US,350,重3 千克 (6.5 l磅),尺寸是 2.2 × 11.7 × 8.3 英寸 (56 × 297 × 210 mm)。它還裝配了當時最大的10.4英寸(264毫米)液晶顯示屏,25 MHz 386SX中央處理器,120 MB硬碟驅動器還有一個手感良好的帶有TrackPoint指點桿的鍵盤。明亮的紅色TrackPoint被安裝在鍵盤上,沒有了滑鼠的累贅人們能夠在飛機客艙托架上使用方便地攜帶型電腦。
盡管採用平版電腦設計的ThinkPad在商業上並不成功,但是它和Apple Newton共同開創了人類使用PDA(Personal Digital Assistant,個人數字助理)和移動計算的時代。
ThinkPad品牌即源於「思考」。 ThinkPad之父內藤先生說過:「如果人們能夠賦予一種產品以思考的力量,那麼它必定擁有超越於技術之上的價值。」
在過去的16年裡, ThinkPad締造了許多輝煌,也締造了許多個業界第一。截至2008年年底,ThinkPad 在全球所獲各種業內大獎已超過了3500項,這幾乎是其他品牌所無法逾越的巔峰;而ThinkPad創造的無數經典力作也在移動發展史上構築了一道道「里程碑」。
[編輯本段]ThinkPad 型號詳細信息
ThinkPad2352607型,即僅供日本的ThinkPad235型是一件很有意思的產品,它是IBM/RicohRIOS的後續產品。它也被廣泛的叫做Clavius或者Chandra2,這款機器包括許多不平常的功能,例如包括3個PCMCIA插槽和同時支持兩個攝像機電池作為電源。這款機器採用一顆英特爾奔騰MMX233MHz中央處理器,並且支持最多160MB的內存,並且包括了一塊支持UDMA功能的筆記本2.5英寸硬碟。
日立在銷售Chandra2時用的名字叫做PriusNote210.ThinkPad300系列thinkPad300系列(300,310,350,360,365,380,385,390(及所有的子系列))有著很長的產品線,從486SX-25直到PentiumIII450。盡管其較新型號的機器大而且稍微慢一些,但它的確是一款便宜的ThinkPad。ThinkPad500系列500系(500,510,560(E,X,Z),570(E))是當年的重點輕薄型ThinkPad.從開始時使用486SX2-50Bluelightening處理器發展至使用PentiumIII500Mhz處理器。
這系列機器只有一內置硬碟,所有其他驅動器都是外置的。(或像570般裝在Ultrabase中)。ThinkPad600系列600系列(600,600E和600X)是後來著名的T系列的直系祖先,它以傳奇般的移動性和堅固性而聞名。600系列包括一個12.1"SVGA或者13.3"XGATFTLCD顯示器,奔騰MMX,奔騰2或者奔騰3中央處理器,全尺寸鍵盤,和一個光碟機槽,全部重量大約2.3公斤。IBM用了一種輕重量但是高強度的碳纖維塑料實現了如此輕巧的筆記本電腦ThinkPad700系列700系列(700,701,730(手寫型),750,755,760,765,770)(許多都有子型號)是當年使用英特爾處理器的ThinkPadl中最尖端的。
它們都擁有當時最好的顯示屏,最大容量的硬碟,和最高速的處理器。701外號「Butterfly」(蝴蝶),因為它的鍵盤為了能夠塞進較細小的空間而分成兩部份。當它收藏時,會上、下移開塞進計算機內,到打開時又會左、右展開,就像蝴蝶展翅一樣。ThinkPad800系列800系列(800/820/821/822/823/850/851/860)是一種非常罕見的基於PowerPC架構而非x86的筆記本電腦。它採用PowerPC603e中央處理器,在860信號中,這顆中央處理器的速度達到100MHz或者166MHz。800型可能採用了一顆603處理器,但是不確信這是否只是實驗目的。800系列採用SCSI2介面而不是IDE介面。800系列價格非常昂貴,其中850型號可能價值12,000美元。800系列運行在WindowsNT3.5或者4.0,OS/2,AIX4.14,SolarisDesktop2.5.1PowerPC版或者Linux.ThinkPadTransnoteIBMTransnote是一部筆觸式筆記本計算機。數據輸入可以通過鍵盤、Trackpoint、設有感測器的紙張筆記本、或用stylus觸碰顯示屏來進行。此Thinkpad是基於前代的筆觸式筆記本計算機(360P(E),730(E),755(P))擴展而來。ThinkPadT2x系列(T20,T21,T22,T23)T2x系列是採用移動奔騰III處理器的,中等尺寸的光軟互換機型。採用的處理器從0.18微米工藝的700MHz奔騰III處理器到0.13微米工藝的1200MHzTualatin核心奔騰III-M處理器。標配14.1英寸XGA顯示屏,Ultrabay2000設備倉位(內置一可替換的光碟機),S3Savege/IX-MV顯示晶元(含8MB顯存,T23含16MB顯存),以及CirrusLogicCS4614聲音晶元。以上的配置在不同的機型中有細微的變化。該系列中引入了稱為Thinklight的鍵盤照明設備,位於顯示屏上框正中偏左的位置,使用Fn+PgUp鍵可以將其打開。其合成材料屏幕上蓋用鈦合金加強。系統可以使用MiniPCI擴展卡,可能是數據機和/或Ethernet網路適配卡。
在某些型號的T23中,內置有符合Wi-Fi標準的無線網路天線,使得使用MiniPCI介面的無線網卡成為可能。T2x系列並不含有後續型號中採用的主動式硬碟保護裝置和指點桿觸摸板二合一設備。T系列被黑色無光橡膠塗層覆蓋,屏幕上蓋邊含有勾扣,在合上筆記本電腦後與基座扣合,可有效消除上蓋的扭曲。這是一個外觀相當時髦,功能多樣,有磨砂質感,且可方便地拆裝和升級的系列。ThinkPadT3x系列只有T30型號。使用IntelMobilePentium4,速度從1.6GHz至2.4GHz。顯示適配器使用Radeon7500,有16MB獨立的顯示內存,顯示器大小為14.1吋,解析度為1024x768或1400x1050。包括內建安全子系統,UltraNavtouchpad,256MB標准內存,內建20/40/60GB硬碟,UltrabayPlusdrive,無線網路,以及Bluetooth。它的殼是強化過的鈦合金,和T4x系列比起來稍微巨大些。ThinkPadT4x系列包括T40,T41,T42,T43以及其包含的「p」系列(高性能"Performance"例如T43p)。一台典型的T4X機器重約2.2kg(4.9磅),略比600系列小巧,而其特點是應用了IntelPentiumM(英特爾奔騰M)處理器(從IntelPentiumM1.3Ghz到[email protected]),14.1或15英寸LCD(液晶顯示器)(XGA,SXGA+標准),型使用了集成顯卡IntelGMA900(IntelGraphicsMediaAdapter900)或獨立的顯卡(ATIRadeon7500,9000,X300,FireGL9000,9600,FireGLT2及FireGLV32000,其硬碟有從30GB到100GB不等的容量,並應用了ActiveProtectionSystem(活動保護系統,官方稱為安全氣囊技術)以保護硬碟(T41及以後的型號)。"p"系列(移動工作站型)採用14英寸SXGA+或15英寸UXGAFlexView顯示屏(擁有超寬視角和高密度像素,解析度可達1600x1200)。這些大屏幕型號明顯地比同系列型號要重,包含光碟機和電池的重量為2.7公斤。某些T42和T43型號內置有光學指紋識別裝置。ThinkPadT6x系列到2008年為止包括T60及T61系列,作為T4x系列的換代產品,這是T系列首次採用英特爾雙核技術的酷睿處理器。ThinkPadX2x系列(X20,X21,X22,X23,X24)X2x系列是採用移動式奔騰3處理器,總重量小於2公斤的機器。其中中央處理器的頻率從500MHz到1+GHz。其他部件包括12.1inchXGA液晶顯示器,ATiRageMobilityM1(X20,X21)或者RadeonMobilityM6(X22,X23,X24)顯卡。並且採用了miniPCI界面的數據機或者網卡。在X22和以後的機器上面還能夠支持無線網卡。Ultrabay2000光碟機能夠安裝在Ultrabase介面的光軟互換槽里,並且在安裝了輔助電池後能夠支持機器工作高達5小時。ThinkPadX3xseries(X30,X31,X32)使用IntelPentiumIIIMobile(X30)或PentiumM(X31,X32)配有12.1吋XGA顯示器,FireWire及USB埠,CompactFlash卡插槽。沒有內建光碟機。ThinkPadX4xSeries是超級輕的X系列示範,只有1.2公斤(2.7磅),比前一系列X31輕了25%ThinkPadX6xSeries(X60,X60s,X60t,X61,X61s,X61t)是第一個使用Intel"Yonah"雙核心處理器的X系列ThinkPad。ThinkPadX300系列超輕薄型筆記本。13.3英寸LED背光顯示屏,重量大約1.13公斤,CPU採用(2.0Ghz/880Mhz),64GBSSD,最高4GBDDR2PC2-5300內存,電池使用時長4小時.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
介紹一下目前的主流ThinkPad機型
SL300/SL400/SL500
R400
T400/T400s/T500
W500/W700/W700ds
X200/X200s/X200T
X300/X301
前面的字母是機型的系列,第一位數字是屏幕尺寸,最後面的字母代表機器
的某種特殊屬性
各系列簡介:按官方說明
SL:成長型全功能筆記本
專為成長型企業量身定製,集性能、無線及多媒體功能於一身、
可輕松投入的筆記本電腦
R: 高性價比的典範
具有主流性能與 ThinkPad 特性,具備高性價比,是理想的家庭
及辦公的筆記本工具
T: 性能與便攜的完美平衡
將強大的性能與便攜性完美結合,並包括更為強大、專業的已通
過ISV認證的移動工作站
W: 終極移動工作站
ThinkPad 移動工作站採用英特爾酷睿2計算技術和 NVIDIA 高端獨立顯卡
X: 終極便攜
極致輕薄設計,超長電池使用時間專為移動商務人士設計, 產品
包括全新的輕薄領袖 ThinkPad
尾部字母的說明
s: 極致便攜,一般採用低電壓cpu或者超低電壓cpu,最輕便,續航最長,性能最低
t: 旋轉屏電腦,具有手寫功能
ds:僅有W700ds一款,除了主顯示屏之外還有一塊輔助顯示屏
[編輯本段]ThinkPad 系列分類
以下是ThinkPad近年來所有系列的列表
ThinkPad A系列: 取「All-in-one」的意思,重量重,體積大,總共擁有3個驅動器插槽,其中2個是可換的。部分型號以「p」結尾的機型是ThinkPad中最先使用15英寸UXGA「FlxView」液晶顯示屏技術的。該系列已於2002年停產。
ThinkPad G系列: 台式機替代機型,使用台式機處理器,重量重,體積大,電池續航時間短。該系列已於2005年停產。
ThinkPad i 系列: 價錢便宜的低端機型,由第三方廠商(如宏基、長城)在IBM的技術許可下代工生產。該系列已於2001年停產。
ThinkPad R系列: i系列和A系列合流形成R系列,擁有兩個內置驅動器,其中一個可換。低端機型繼承i系列的傳統繼續走低價道路,其餘機型設計成「移動工作站」來代替已停產的A系列。
ThinkPad S系列: Subnotebook,相當小且相當輕便,僅向日本市場銷售。
ThinkPad T系列: ThinkPad的旗艦機型,相當輕薄,高端商務機型。擁有兩個內置驅動器,其中一個可換。
ThinkPad X系列: Subnotebook, 異常輕便小巧,內置硬碟,無光碟驅動器,12英寸液晶顯示屏。其中2005年7月發布的X41T、2006年11月發布的X60t、2008年3月發布的x61t以及2008年10月發布的x200t屬於平版電腦。
ThinkPad Z系列: 自2005年開始生產,Lenovo收購IBMPC事業部後推出的首個系列,首個寬屏筆記本,首個專為娛樂而設計的ThinkPad。
ThinkPad SL系列:2008年專為中小型企業推出的筆記本,首次在外殼上採用鋼琴烤漆,性價比高。
ThinkPad W系列:2008年重新繼承A系列,繼承融合「All in one"的筆記本產品,同是一個體積大,重量重,配置高,性能強勁的移動工作站系列。
[編輯本段]其他
Thinkpad是開源碼操作系統OpenBSD開發人員當中最受歡迎的攜帶型計算機,而ThinkPad X40更是最受系統支持的攜帶型計算機型號之一。
有些人懷疑在Lenovo收購IBM之後在筆記本硬體品質上做了縮水,如鎂質防滾架被鏤空(也有人認為這是在沒有降低機身強度下減輕機身重量的明智之舉,在模具製作上有技術難度),T系列某些型號取消了鎂合金機蓋,閉合屏幕機身與屏幕不夠嚴實等等。
IBM ThinkPad 品牌在2005年被中國聯想收購。目前已經生產至R61,T61,X61系列。 聯想將總部設在ThinkPad「發源地」日本進行生產研究 。
Thinkpad現在已經推出新的型號 SL500、SL400、SL300、R400、R500、X300、X200、T400、T500、W500、W700等。
[編輯本段]ThinkPad 輝煌15周年回顧
1992年,第一台以ThinkPad命名的筆記本電腦—ThinkPad 700C誕生,ThinkPad領導移動計算技術發展的歷程從此開始。也正是從700C開始,TrackPoint (小紅點)第一次出現在ThinkPad筆記本上。這一設計極為符合人體工學:用指尖輕推指點桿,底部的陶瓷板就會靈敏感應,准確定位滑鼠位置和移動方向,讓用戶在使用的時候達到最大程度的方便與舒適。這種人性化的設計一直沿用至今,並成為ThinkPad獨特象徵。
1993年,ThinkPad 750C是人類歷史上第一個隨太空梭進入太空的個人電腦,確立了ThinkPad品牌在筆記本電腦領域的特殊地位。ThinkPad 750C是首款支持擴展底座的筆記本電腦,它的底座設計大大擴展了筆記本電腦的外圍設備的互聯能力和靈活性,並獲得無數殊榮,其中包括《PC Computing》「1993年最有價值產品獎」和「最佳筆記本獎」、《PC Magazine》「編輯選擇獎」、《Datamation》「1993年度產品獎」等。
1994年,ThinkPad 755CD是世界上第一台帶有CD-ROM驅動器的筆記本電腦,具有強大的圖形處理能力和高容量的存儲器,標志著筆記本電腦進入了多媒體時代。其光軟互換的設計使筆記本電腦能在減輕重量和縮小尺寸的前提下而不損失接駁性能,這對整個筆記本行業今後的發展方向提供了重要的借鑒。筆記本模塊化的設計,也成為日後筆記本電腦製造的業界標准。
1995年,「蝴蝶」機被紐約現在藝術博物管永久典藏,ThinkPad 701C可以說是一件鍵盤可伸縮的「科技工藝品」,因其在藝術和技術上具有同等高超造詣,被紐約現代藝術博物館永久收藏。打開屏幕後,ThinkPad701C的鍵盤可以完全伸展開來,而合上頂蓋後,又會完全收縮到機器內部,就像蝴蝶展開翅膀那樣,因此被譽為「蝴蝶機」。其復雜精密的機械傳動、完美的工業設計提供給用戶超凡的使用體驗。世界上第一款能當作投影儀使用的筆記本電腦誕生
1996年,ThinkPad 560 成為超輕超攜帶型電腦的典範,ThinkPad 560因為其出眾的整體散熱設計,成為當時市場上少見的「無風扇」超薄筆記本,這一大膽的嘗試出乎當時整個業界的想像。同時它也開創了當時超攜帶型電腦的新典範 :機身超薄只有1.2英寸厚,重量只有1.9Kg,率先將光碟機和軟碟機全部從筆記本上移除,並可通過紅外線進行數據的無線傳送和通訊。
1997年,ThinkPad 770是世界上第一款帶有14.1"彩色屏幕和DVD驅動器的筆記本電腦,處理器和多媒體功能極為強大,並在通訊、存儲、TrackPoint上都進行了創新,將TrackPoint更新到第四版,增加了第三個按鍵用來配合TrackPoint完成上下/左右的屏幕滾動,這種設計一直沿用到今天的ThinkPad筆記本電腦上。
1998年,ThinkPad 600 歷史上銷量最大的ThinkPad機型,首次在36.5mm的機身內置了CD-ROM驅動器,完美演繹了性能與重量之間的平衡。手感極佳的鍵盤和抽屜式的互換光碟機設計,將「超級便攜」筆記本推到了一個新的技術高峰。全尺寸鍵盤讓用戶在從普通台式機鍵盤轉換到筆記本鍵盤可以不費吹灰之力,大大提高了工作效率和工作舒適性。按鍵結構也是歷來ThinkPad的設計重點,從早期的「X」型支架到後來的「又」字型支架,觸感平穩,按鍵柔和度和彈性的設計都恰到好處。
1999年,應用於ThinkPad 570的「Ultrabase」概念,將筆記本「超級便攜」理念發展到一個新階段。Ultrabase允許用戶在保持整機不變的情況下,添加各種外圍設備來提升或者擴展筆記本計算機的性能,包括軟碟機、光碟驅動器、第二顆硬碟、ZIP驅動器、第二塊電池等。ThinkPad 570在移動時能脫離底座而保持極度的輕便,而通過擴展塢又瞬間完成大量外圍設備的接駁。這在當時以全內置為主、光軟互換為輔的筆記本行業簡直不可想像。「變形金剛」的美譽也由此而來。
2000年,ThinkPad T系列繼承了ThinkPad 600超級便攜設計的精華,在不增加機身重量的同時屏幕由13.3"擴大到了14.1",通過「光軟互換」完美地結合了移動性和計算性能。成功應用於ThinkPad T23筆記本上的全球第一套嵌入式安全子系統(Embedded Security Subsystem),能幫助用戶在硬體上實現了對計算機內資料的安全保護。ThinkPad T系列成為進入新世紀之後全球最受歡迎的型號。
2001年,ThinkPad TransNote具備手寫板和觸摸屏的革命性產品,具有顛覆傳統的外觀,獲得了當年的「全球工業設計金獎」,標志著移動計算在智能化方面的新突破。TransNote能通過手寫板將你的手寫記錄轉換為數字文件,以便存儲和處理。TransNote有一個非常人性化的奇特的折疊式設計,這種完美的設計便於隨時記錄信息,或者會議上的無紙化筆錄,而且整機重量甚至比很多文件盒還輕。
2002年,集25項專利於一身的ThinkPad X30筆記本電腦,因為它細膩而不張揚的設計,被親切地稱為黑色精靈。它當時曾一舉創下四項業界第一,其中包括電池耐久達到了創紀錄的8個小時,5種有線和無線通訊方式(包括有線網卡、無線網卡、紅外、藍牙以及Modem接入),在業界首先通過TCPA安全認證,以及當時唯一支持災難數據恢復的特性。X30更進一步優化了網路連接特性,具備完整的無線解決方案,有靈活的網路連接選件,是當時業界唯一同時支持802.11b無線區域網和藍牙技術的超輕薄筆記本電腦。在藍牙的發展方向尚不明。
2003年,ThinkPad T40被稱為ThinkPad史上又一傑作。機器更輕更薄,更長的電池使用時間和卓越的無線性能,令其對手遠不能及。採用主動保護系統(APS,ActiveProtection System),用來減少硬碟在受到碰撞後崩潰的概率,徹底改變傳統的使用吸震材料來吸收震動能量的方式,讓筆記本電腦真正從以往的被動保護跨越到主動保護,影響深遠。在局勢變化的商業世界裡,即使偶有跌宕,也能保護珍貴數據萬無一失,安然無憂。2003年11月5日,全球第2000萬台ThinkPad正式售出,它誕生於IBM在深圳與長城合資的生產廠IIPC中。
2004年,ThinkPad T42是第一台配備集成生物指紋識別技術的ThinkPad,創新地應用生物統計學技術,提高了整個PC行業的安全標准,成為最安全的筆記本電腦。生物指紋識別技術以指紋替代傳統密碼,配合客戶端安全解決方案,為重要數據構築堅強防禦,將黑客、病毒和各種非法入侵拒於門外,輕松捍衛專署私密空間,從而成為世界上最安全的筆記本電腦。
2005年,第一台創新設計的ThinkPad平板筆記本電腦誕生,不斷突破現有,ThinkPad的技術探索不斷為消費者帶來全新的使用體驗。ThinkPad X41t平板電腦是當時業界領先的,最小最輕便的可變式12」平板電腦,它在同類產品中具有壽命最長的標准電池。該機型擁有ThinkPad X41系列筆記本的全部功能,還有獨一無二的旋轉鉸鏈,可支持顯示屏旋轉180。 而使用平板電腦數字轉換筆可直接在顯示屏上進行手寫操作。2005年3月,中國第一百萬個ThinkPad筆記本用戶誕生。
2006年,率先採用「鎂制防滾架」技術,一體化成型,將內部組件牢牢固定住,將物理安全提升到了整機保護的高度。其設計原理來自於賽車的防滾架,經過測試表明,這種全新設計使內部部件所受沖擊力減少30%,為內部組件形成金鍾罩般的防護,提高系統穩定性;材質採用輕巧的鎂合金,強韌性/重量比是一般結構性金屬中最優異的。
2007年,創造性的將鎂制防滾架應用於顯示屏中。這一領先設計,不僅構築了堅固的屏幕,更可屏蔽干擾,增強了筆記本的無線通訊性能。雙重捍衛無價數據的同時令你的思考再無斷點。 雙重鎂制防滾架,T系列專享服務,鷹翼散熱系統,三重硬碟保護,APS主動硬碟保護技術,生物指紋識別技術,應急與恢復系統,網路自適應軟體,防潑濺鍵盤。
思考向前 不止15年。

『柒』 小碼哥推出的T30是個什麼計劃

T30計劃是小碼哥教育和源碼時代共同實行的,發布於三月十五號,在消費者權益日當天,既是想得到大家的信任和關注,也是一種承諾,由於傳統的民間辦學一直以來都是以校方需求為主導,學生先繳納學費後入學學習。所以校方的主導地位使得一些弊端的存在,不利於學生的地位。教學質量低下、學員就業無保障……甚至捲款而逃。學員的權益得不到絲毫保障,這都給教育培訓行業帶來負面影響,所以制定了 T30實效培訓計劃。這算得上是對IT培訓行業的一次改革嘗試,也更為社會提供源源不斷的技能型人才,引領IT培訓教育行業的前進 。
 其基本內容
流程是學生報名後學校通過測試篩選選拔,再簽訂協議,正式學習,滿意後再繳納學費
學生的主導地位體現於:1.教學階段是讓學生對學校的滿意度評分,主要有:課程內容滿意度;講師授課滿意度;學校管理滿意度等等,把掌握權交給學生,實現師生的共同信任,不僅體現「師生共贏」的教學理念,也是「教育培訓是服務行業」這一本質理念的反映。2.就業階段承諾的目標是,參加就業指導畢業後,3個月之內找到培訓學科相關工作試用期滿,轉正薪資達到約定標准,提供薪資證明(應屆生月薪6000元,往屆生月薪8000元)

『捌』 當前公式 : 主力 (指標畫線公式) 錯誤句 : 詳細信息 : 單詞最大字元數不得超過 16 個 錯誤起始位置 : 2244

你看看公式語句中是否有非法的語句,或語句殘缺?最好,你把公式發過來。

『玖』 求求field ii 實現合成孔徑聚焦成像的MATLAB代碼

Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms(逆合成孔徑成像MATLAB演算法)配書源代碼,可用於學習和理解ISAR的基本演算法和實現過程。
【實例截圖】
【核心代碼】
MatlabFiles
└── MatlabFiles
├── Appendix
│ ├── cevir2.m
│ ├── matplot.m
│ ├── matplot2.m
│ ├── shft.m
│ └── stft.m
├── Chapter1
│ ├── Figure1_1.m
│ ├── Figure1_11.m
│ ├── Figure1_2.m
│ ├── Figure1_3.m
│ ├── Figure1_5.m
│ ├── Figure1_8.m
│ ├── prince.wav
│ └── tot30.mat
├── Chapter2
│ ├── Figure2_11.m
│ ├── Figure2_15.m
│ ├── Figure2_16.m
│ ├── Figure2_17.m
│ ├── Figure2_18.m
│ ├── Figure2_19and20.m
│ └── Figure2_9.m
├── Chapter3
│ ├── Figure3_10.m
│ ├── Figure3_11.m
│ ├── Figure3_14.m
│ ├── Figure3_16.m
│ ├── Figure3_8.m
│ └── Figure3_9.m
├── Chapter4
│ ├── E_field.mat
│ ├── Es_range.mat
│ ├── Es_xrange.mat
│ ├── Esairbus.mat
│ ├── Escorner.mat
│ ├── Esplanorteta60.mat
│ ├── Figure4_14.m
│ ├── Figure4_15.m
│ ├── Figure4_18.m
│ ├── Figure4_19.m
│ ├── Figure4_20.m
│ ├── Figure4_21and22.m
│ ├── Figure4_23and24.m
│ ├── Figure4_26thru4_28.m
│ ├── Figure4_31and4_32.m
│ ├── Figure4_6.m
│ ├── Figure4_8.m
│ ├── PLANORPHI45_Es.mat
│ ├── airbusteta80_2_xyout.mat
│ ├── fighterSC.mat
│ ├── planorphi45_2_xyout.mat
│ ├── planorteta60_2_xyout.mat
│ ├── planorteta60xzout.mat
│ └── planorteta60yzout.mat
├── Chapter5
│ ├── Esairbus.mat
│ ├── Esplanorteta60.mat
│ ├── Figure5_10ab.m
│ ├── Figure5_10cd.m
│ ├── Figure5_10ef.m
│ ├── Figure5_11.m
│ ├── Figure5_12thru18.m
│ ├── Figure5_19ab.m
│ ├── Figure5_19cd.m
│ ├── Figure5_19ef.m
│ ├── Figure5_4.m
│ ├── Figure5_9.m
│ ├── airbusteta80_2_xyout.mat
│ ├── fighterSC.mat
│ ├── planorteta60_2_xyout.mat
│ └── ucak.mat
├── Chapter6
│ ├── CoutUssFletcher.mat
│ ├── Fighter.mat
│ ├── Figure6_14thru19.m
│ └── Figure6_21thru23.m
├── Chapter7
│ ├── Es60.mat
│ ├── Figures7_2thru7_8.m
│ ├── Figures7_9thru7_13.m
│ ├── MP.mat
│ ├── SC.mat
│ └── planorteta60_2_xyout.mat
└── Chapter8
├── Fighter.mat
├── Fighter2.mat
├── Fighter3.mat
├── Figure8_14.m
├── Figure8_15.m
├── Figure8_16thru8_22.m
├── Figure8_2thru8_6.m
├── Figure8_7thru8_12.m
└── scat_field.mat
10 directories, 85 files

『拾』 求MD5加密演算法的C語言源碼

(轉載) #include <stdio.h> #include <stdlib.h> #include <memory.h> #include <time.h> #include <errno.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include "../md5/md5.h" #define T1 0xd76aa478 #define T2 0xe8c7b756 #define T3 0x242070db #define T4 0xc1bdceee #define T5 0xf57c0faf #define T6 0x4787c62a #define T7 0xa8304613 #define T8 0xfd469501 #define T9 0x698098d8 #define T10 0x8b44f7af #define T11 0xffff5bb1 #define T12 0x895cd7be #define T13 0x6b901122 #define T14 0xfd987193 #define T15 0xa679438e #define T16 0x49b40821 #define T17 0xf61e2562 #define T18 0xc040b340 #define T19 0x265e5a51 #define T20 0xe9b6c7aa #define T21 0xd62f105d #define T22 0x02441453 #define T23 0xd8a1e681 #define T24 0xe7d3fbc8 #define T25 0x21e1cde6 #define T26 0xc33707d6 #define T27 0xf4d50d87 #define T28 0x455a14ed #define T29 0xa9e3e905 #define T30 0xfcefa3f8 #define T31 0x676f02d9 #define T32 0x8d2a4c8a #define T33 0xfffa3942 #define T34 0x8771f681 #define T35 0x6d9d6122 #define T36 0xfde5380c #define T37 0xa4beea44 #define T38 0x4bdecfa9 #define T39 0xf6bb4b60 #define T40 0xbebfbc70 #define T41 0x289b7ec6 #define T42 0xeaa127fa #define T43 0xd4ef3085 #define T44 0x04881d05 #define T45 0xd9d4d039 #define T46 0xe6db99e5 #define T47 0x1fa27cf8 #define T48 0xc4ac5665 #define T49 0xf4292244 #define T50 0x432aff97 #define T51 0xab9423a7 #define T52 0xfc93a039 #define T53 0x655b59c3 #define T54 0x8f0ccc92 #define T55 0xffeff47d #define T56 0x85845dd1 #define T57 0x6fa87e4f #define T58 0xfe2ce6e0 #define T59 0xa3014314 #define T60 0x4e0811a1 #define T61 0xf7537e82 #define T62 0xbd3af235 #define T63 0x2ad7d2bb #define T64 0xeb86d391 static void md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) { md5_word_t a = pms->abcd[0], b = pms->abcd[1], c = pms->abcd[2], d = pms->abcd[3]; md5_word_t t; #ifndef ARCH_IS_BIG_ENDIAN # define ARCH_IS_BIG_ENDIAN 1 /* slower, default implementation */ #endif #if ARCH_IS_BIG_ENDIAN /* * On big-endian machines, we must arrange the bytes in the right * order. (This also works on machines of unknown byte order.) */ md5_word_t X[16]; const md5_byte_t *xp = data; int i; for (i = 0; i < 16; i, xp = 4) X[i] = xp[0] (xp[1] << 8) (xp[2] << 16) (xp[3] << 24); #else /* !ARCH_IS_BIG_ENDIAN */ /* * On little-endian machines, we can process properly aligned data * without ing it. */ md5_word_t xbuf[16]; const md5_word_t *X; if (!((data - (const md5_byte_t *)0) & 3)) { /* data are properly aligned */ X = (const md5_word_t *)data; } else { /* not aligned */ memcpy(xbuf, data, 64); X = xbuf; } #endif #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) /* Round 1. */ /* Let [abcd k s i] denote the operation a = b ((a F(b,c,d) X[k] T[i]) <<< s). */ #define F(x, y, z) (((x) & (y)) | (~(x) & (z))) #define SET(a, b, c, d, k, s, Ti)\ t = a F(b,c,d) X[k] Ti;\ a = ROTATE_LEFT(t, s) b /* Do the following 16 operations. */ SET(a, b, c, d, 0, 7, T1); SET(d, a, b, c, 1, 12, T2); SET(c, d, a, b, 2, 17, T3); SET(b, c, d, a, 3, 22, T4); SET(a, b, c, d, 4, 7, T5); SET(d, a, b, c, 5, 12, T6); SET(c, d, a, b, 6, 17, T7); SET(b, c, d, a, 7, 22, T8); SET(a, b, c, d, 8, 7, T9); SET(d, a, b, c, 9, 12, T10); SET(c, d, a, b, 10, 17, T11); SET(b, c, d, a, 11, 22, T12); SET(a, b, c, d, 12, 7, T13); SET(d, a, b, c, 13, 12, T14); SET(c, d, a, b, 14, 17, T15); SET(b, c, d, a, 15, 22, T16); #undef SET /* Round 2. */ /* Let [abcd k s i] denote the operation a = b ((a G(b,c,d) X[k] T[i]) <<< s). */ #define G(x, y, z) (((x) & (z)) | ((y) & ~(z))) #define SET(a, b, c, d, k, s, Ti)\ t = a G(b,c,d) X[k] Ti;\ a = ROTATE_LEFT(t, s) b /* Do the following 16 operations. */ SET(a, b, c, d, 1, 5, T17); SET(d, a, b, c, 6, 9, T18); SET(c, d, a, b, 11, 14, T19); SET(b, c, d, a, 0, 20, T20); SET(a, b, c, d, 5, 5, T21); SET(d, a, b, c, 10, 9, T22); SET(c, d, a, b, 15, 14, T23); SET(b, c, d, a, 4, 20, T24); SET(a, b, c, d, 9, 5, T25); SET(d, a, b, c, 14, 9, T26); SET(c, d, a, b, 3, 14, T27); SET(b, c, d, a, 8, 20, T28); SET(a, b, c, d, 13, 5, T29); SET(d, a, b, c, 2, 9, T30); SET(c, d, a, b, 7, 14, T31); SET(b, c, d, a, 12, 20, T32); #undef SET

熱點內容
android怎麼改 發布:2024-10-07 22:24:13 瀏覽:863
我的世界ec伺服器消失了 發布:2024-10-07 21:48:30 瀏覽:661
pythonziptodict 發布:2024-10-07 21:36:09 瀏覽:790
linux操作系統教程 發布:2024-10-07 21:16:54 瀏覽:280
摩托音響怎麼配置 發布:2024-10-07 21:12:37 瀏覽:348
本田思域哪個配置好 發布:2024-10-07 21:04:11 瀏覽:347
演算法期末試卷 發布:2024-10-07 20:51:04 瀏覽:808
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:297
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:578
磁存儲行業的前景 發布:2024-10-07 20:01:29 瀏覽:550